呈现的图表不是使用呈现的代码绘制的,但它很接近。更改 xpd 是一种解决方案,但我想建议另一种解决方案。不要使用条形图。条形图应该从 0 开始。它们专门用于计数数据。它们对条形图中的所有值(而不是外部值)应用特殊含义,并根据条形图的位置对值进行不同的评级。R 在这里最初未能做你想做的事情的原因是因为它试图做正确的事情并从 0 开始。
下图使用了少得多的墨水,同时使 aVals 和 bVals 的比较变得更加容易。有些人可能不喜欢连接点的线,因为 x 轴是分类的,但如果您的主要目标是在 Vals 中进行比较并且变量非常明确分类,那么这没关系,因为它更好地强调了这一点。此外,对于这样一个简单的图表,现在一个图例是多余的,可以直接标记线条。
(顺便说一句,我认为最好分别为每个学科绘制男性和女性 aVals 和 bVals。)
par(las=1, bty = 'n')
point_colors <- c("royalblue4", "gray")
subjects <- c("Comp. Sc.\n(17.2%)", "Physics\n(19.6%)", "Maths\n(29.4%)",
"Pol. Sc.\n(40.4%)", "Psychology\n(69.8%)")
aVals <- c(52.36, 52.00, 55.43, 56.08, 62.89)
bVals <- c(53.57, 52.93, 56.07, 58.86, 63.87)
n <- length(aVals)
plot(1:n, aVals, ylim = c(50, 65), type = 'l', col=point_colors[1], xlab="Disciplines (% of women)", ylab = "Classification accuracy (%)", xaxt = 'n', panel.first = grid(nx = NA, ny = NULL))
lines(1:n, bVals, col = point_colors[2])
axis(1, 1:5, subjects, cex.axis = 0.85, tcl = -0.1)
text(c(3.25, 3.5), c(54, 59), c('aVals', 'bVals'))
![在此处输入图像描述](https://i.stack.imgur.com/izqh1.png)
您可以从那里构建以进一步可视化数据。您已经明确地处理了这些学科,但您拥有使它们成为数字变量的信息。您正在强调该部门中女性的比例。为什么不让 x-graph 符合那个比例呢?它可能会在数据中显示一些不同的东西,并使线条连接变得更有意义。尝试这个。
par(las=1, bty = 'n')
point_colors <- c("royalblue4", "gray")
subjects <- c("Comp. Sc.\n(17.2%)", "Physics\n(19.6%)", "Maths\n(29.4%)",
"Pol. Sc.\n(40.4%)", "Psychology\n(69.8%)")
xpos <- c(17.2, 19.6, 29.4, 40.4, 69.8)
aVals <- c(52.36, 52.00, 55.43, 56.08, 62.89)
bVals <- c(53.57, 52.93, 56.07, 58.86, 63.87)
n <- length(aVals)
plot(xpos, aVals, ylim = c(50, 65), type = 'l', col=point_colors[1], xlab="Disciplines (% of women)", ylab = "Classification accuracy (%)", xaxt = 'n', panel.first = grid(nx = NA, ny = NULL))
lines(xpos, bVals, col = point_colors[2])
axis(1, xpos, subjects, cex.axis = 0.85, tcl = -0.1)
text(c(3.25, 3.5), c(54, 59), c('aVals', 'bVals'))
![在此处输入图像描述](https://i.stack.imgur.com/NYvXr.png)
好的,诚然我们已经失去了物理学,但这可以通过多种方式来处理。您可以将标签移动到 % 值下方并允许它们滑动一点或使用箭头指向该点。我会把它留给你。这似乎表明了或多或少的线性关系。(尽管我怀疑实际情况是否如此,因为比例通常不会那样表现)。无论如何,我想要说明的唯一一点是,走出条形图框是个好主意。
(你也可能想谷歌“炸药情节”,看看他们不喜欢的很多原因)