如何在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 中创建其他常见图形: