我正在尝试创建一个简单的条形图,其中包括两个条形图,显示两组学生的平均数学分数。平均值为363.2和377.4。创建条形图很简单。我想做的是让我的y轴从340而不是0开始。我知道如何改变y轴的极限,但问题是当我将y轴的极限改为c时( 340,380),R仍然绘制整个条,大部分都在x轴下方!
这是我的代码:
barplot(c(363.2, 377.4), beside = T, ylim = c(340,380), col = c("orange", "blue"))
我也附上了我的情节:
答案 0 :(得分:9)
添加xpd=FALSE
并重新添加水平轴有效,排序:
b <- barplot(c(363.2, 377.4), beside = TRUE,
ylim = c(340,380), col = c("orange", "blue"),xpd=FALSE)
axis(side=1,at=b,labels=c("group 1", "group 2"))
box(bty="l")
我声称(我不能指出你一个明确的参考,虽然Googling "bar plot zero axis"似乎提出了有用的东西;也许其他人会插话)这是糟糕的做法到绘制条形图,其中垂直轴不包括零:参数是观察者将假设条形图锚定到原点(在解释为什么R不容易使用对数轴时更常见这个参数对于条形图:例如,参见comments here。那些有这种感觉的人会说你应该用点来表示价值;在这种情况下,零锚定的隐含假设并不强烈。
换句话说,“这就是你如何做到这一点 - 但你不应该......”
答案 1 :(得分:3)
如果您查看?barplot
:
“xpd:logical。是否应允许栏位于区域外?”
您只需要在条形图的参数中包含xpd=FALSE
。