11

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

我还附上了我的情节:

4

2 回答 2

14

添加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")

我声称(尽管谷歌搜索“条形图零轴”似乎提出了有用的东西;也许其他人会加入)在垂直轴的位置绘制条形图是不好的做法不包括零:参数是查看器将假设条形图锚定到原点(在解释为什么 R 不能轻松地使用对数轴进行条形图时,这个参数更常见:请参阅此处的评论,对于例子)。有这种感觉的人会说你应该用积分来表示价值;在这种情况下,零锚定的隐含假设不成立。

换句话说,“你可以这样做——但你不应该”......

于 2012-07-27T21:10:01.510 回答
5

如果您查看以下内容,则可以看到?barplot

“xpd:合乎逻辑。应该允许酒吧走出区域吗?”

您只需要包含xpd=FALSE在条形图的参数中。

于 2012-07-27T21:05:58.240 回答