将binwidth设置为ggplot histogram

时间:2017-03-06 10:36:59

标签: r ggplot2

我在使用ggplot创建直方图时遇到了麻烦。

我的数据结构如下:

value_1
112.45
2457.44
333.24

这个值列表继续进行大约25000次观察。

我想要一个直方图,其频率值为0-100,然后是100-200,然后是200-300,直到值的上限。

在上面的示例中,将在bin 100-200中给出1个计数,在bin 300-400中计数1个,在bin 2400-2500中计数1个。

你能帮助我朝正确的方向发展吗?

1 个答案:

答案 0 :(得分:2)

您可以同时设置binwidth以及centerboundary来设置正确的纸槽宽度:

df <- data.frame(x = c(112.45, 2457.44, 333.24))

library(ggplot2)  # 2.2.1
ggplot(df, aes(x)) + geom_histogram(binwidth = 100, center = 150)
# or
ggplot(df, aes(x)) + geom_histogram(binwidth = 100, boundary = 100)
  

中心

     

其中一个箱子的中心。请注意,如果中心位于或上方   在数据范围之下,事物将被适当地移动   宽度数。例如,以整数为中心,使用width = 1   即使0超出数据范围,中心= 0也是如此。最多   可以指定中心和边界之一。

     

边界

     

边界   在两个箱子之间。与中心一样,当边界变化时,事物会发生变化   超出数据范围。例如,以整数为中心,使用   width = 1且boundary = 0.5,即使0.5超出范围   数据。最多可以指定一个中心和边界。

如果您知道数据的范围,您也可以仅使用breaks =中的geom_histogram手动设置此数据。