如何在ggplot2中设置直方图的bin数


您可以使用bins参数指定ggplot2直方图中要使用的 bin 数量:

 library (ggplot2)

ggplot(df, aes (x=x)) +
  geom_histogram(bins= 10 )

下面的例子展示了如何在实践中使用这个论点。

示例:在 ggplot2 中设置直方图的 bin 数量

以下代码展示了如何在 R 中创建一个包含 10,000 个随机值的数据集,该数据集遵循平均值为 2 的泊松分布

 #make this example reproducible
set. seeds (0)

#create data frame with 10,000 random values that follow Poisson distribution
df <- data. frame (values=rpois(n= 10000 , lambda= 2 ))

#view first five rows of data frame
head(df)

  values
1 4
2 1
3 1
4 2
5 4
6 1

我们可以使用以下代码在ggplot2中创建直方图,以可视化数据框中值的分布:

 library (ggplot2)

ggplot(df, aes (x=values)) +
  geom_histogram(fill=' steelblue ', col=' black ') 

默认情况下,ggplot2 会自动选择一定数量的框在直方图中使用。

但是,我们可以使用以下语法来指定我们希望直方图使用10 个bin:

 library (ggplot2)

ggplot(df, aes (x=values)) +
  geom_histogram(fill=' steelblue ', col=' black ', bins= 10 ) 

请注意,直方图现在正好有10 个框。

或者我们可以使用以下语法来指定我们希望直方图使用5 个bin:

 library (ggplot2)

ggplot(df, aes (x=values)) +
  geom_histogram(fill=' steelblue ', col=' black ', bins= 5 ) 

请注意,直方图现在正好有5 个框。

您会发现您使用的垃圾箱越少,每个垃圾箱就会越宽。

一般来说,如果使用的组太少,真实的底层值分布就会被隐藏。

但是,如果您使用太多组,则可能会在数据中看到噪音。

找到直方图中使用的最佳箱数的一种方法是使用Sturges 规则在此处了解有关此规则的更多信息。

注意:您可以在此处找到geom_histogram函数的完整文档。

其他资源

以下教程解释了如何在 R 中创建其他常见图形:

如何在 R 中创建相对频率直方图
如何在 R 中的单个图中绘制多个箱线图
如何在R中绘制多条线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注