2016-05-24 11 views
5

Chciałbym dodać linię do wykresu słupkowego dystrybucji w ggplot2, aby pokazać średni rozkład, ale mam problemy.geom_density, aby dopasować geom_histogram binwitdh

Wezwanie ggplot tak:

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

daje mi pręty histogram dla każdych 30 dni warte uwagi, ale linia gęstość śledzi liczbę dla każdego pojedynczego dnia, jak widać poniżej (statyczna przy dno jest z geom_density.

enter image description here

Czy jest możliwe aby dodać geom_density warstwę nakładać linię, która pokaże średnią dla liczby 30 grup dziennych obserwacje takie jak binwidth w geom_histogram.

Każda pomoc jest doceniana.

Odpowiedz

9

Według odpowiedź Brian S. Diggs podane w niniejszym e-mail należy pomnożyć wartość ..count.. w geom_density() przez wartość binwidth= w 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

+0

Działa świetnie, dzięki! – moman822