如何在ggplot2中调整“binwidth”?

17

这可能听起来像是一个重复的问题,但希望不是。在基本的 R图形 直方图函数中,我们有一个选项 breaks="FD",它为直方图提供了一个合理大小的箱宽,那么在 ggplot2 中是否有类似的简单选项呢?或者更好的是,我们可以在 ggplot2 中使用相同的选项吗?

我确实明白你可以调整 geom_histogram 中的 binwidth,但我正在寻找一种更简单的方法来生成外观美观且合理的 binsize


2
你能否使用 nclass.FD 自行计算,然后相应地设置 binwidth 呢...? - joran
2
我不相信FD在许多情况下会给出合理大小的binwidth(对于大型数据集来说通常太大了),这也是它没有内置的原因之一。 - hadley
1个回答

18
set.seed(42)
x <- rnorm(1000)
hist(x,breaks="FD")

library(ggplot2)
breaks <- pretty(range(x), n = nclass.FD(x), min.n = 1)
bwidth <- breaks[2]-breaks[1]
df <- data.frame(x)
ggplot(df,aes(x))+geom_histogram(binwidth=bwidth,fill="white",colour="black")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接