geom_density匹配geom_histogram binwitdh

时间:2016-05-24 03:41:47

标签: r ggplot2

我想在ggplot2的分配栏图中添加一行来显示平均分布,但遇到了麻烦。

像这样的ggplot调用:

ggplot(x, aes(date_received)) + 
    geom_histogram(aes(y = ..count..), binwidth=30) +
    geom_density()

给出了每30天观察值的直方图条,但密度线跟踪每一天的计数,如下所示(底部的静态来自geom_density

enter image description here

是否可以添加geom_density图层来覆盖一条线,该线将显示30天观察组的平均值,例如binwidth中的geom_histogram

感谢任何帮助。

1 个答案:

答案 0 :(得分:16)

根据此e-mail中给出的Brian S. Diggs的答案,您应该将..count..geom_density(的值乘以binwidth=geom_histogram()的值}。

set.seed(123)
df<-data.frame(x=rnorm(1000,100,15))

ggplot(df,aes(x))+
      geom_histogram(binwidth = 2.5)+
      geom_density(aes(y=2.5 * ..count..))

enter image description here