barplot Y-Axis中的不同起点(不是0)?

时间:2012-07-27 20:52:48

标签: r

我正在尝试创建一个简单的条形图,其中包括两个条形图,显示两组学生的平均数学分数。平均值为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"))

我也附上了我的情节:

2 个答案:

答案 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