我想在ggplot2的分配栏图中添加一行来显示平均分布,但遇到了麻烦。
像这样的ggplot调用:
ggplot(x, aes(date_received)) +
geom_histogram(aes(y = ..count..), binwidth=30) +
geom_density()
给出了每30天观察值的直方图条,但密度线跟踪每一天的计数,如下所示(底部的静态来自geom_density
。
是否可以添加geom_density
图层来覆盖一条线,该线将显示30天观察组的平均值,例如binwidth
中的geom_histogram
。
感谢任何帮助。
答案 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..))