2

我想画一个简单的条形图,如下所示:

test <- data.frame(y=c(1,3,53,10,30,35,50), x=c(1:7))
barplot(test$y, names.arg=test$x)

结果图

我的问题是,如果最大值是某个“不漂亮”的数字,则 y 轴延伸得不够远。更好的是,如果轴扩展通过最大值并以大于最大值的某个“漂亮”值结束。

给定一个随机数据集(即这是一个函数),有没有一种简单的方法可以做到这一点?

4

1 回答 1

6

您可以使用pretty()和的组合range()来自动选择更好的设置ylim

test <- data.frame(y=c(1,3,53,10,30,35,50), x=c(1:7))
barplot(test$y, names.arg=test$x, 
        ylim = range(pretty(c(0, test$y))))

在此处输入图像描述

(感谢 Gavin Simpson 指出该range(pretty(c(0, test$y)))方法同样有效range(pretty(c(0, max(test$y)))

于 2012-05-29T16:42:47.123 回答