Adr*_*rbó 6 r ggplot2 density-plot
我有以下数据框
x1<-data.frame(n = rnorm(1000000, mean=0, sd=1), nombre= "x1")
x2<-data.frame(n=rnorm(1500000, mean=3, sd=1), nombre= "x2")
x<-rbind(x1, x2)
ggplot(x, aes(n, fill=nombre))+
geom_histogram(alpha=0.5, binwidth=0.25, position = "identity")+
geom_density()
Run Code Online (Sandbox Code Playgroud)
我想将密度图叠加到直方图上,但它看起来就像 0 中的一条细线
您需要获得geom_histogram
并geom_density
共享同一轴。aes(y=..density)
在本例中,我通过将术语添加到来指定两者都根据密度绘制geom_histogram
。还要注意一些不同的美学,以避免过度绘制,以便我们能够更清楚地看到这两个几何图形:
ggplot(x, aes(n, fill=nombre))+
geom_histogram(aes(y=..density..), color='gray50',
alpha=0.2, binwidth=0.25, position = "identity")+
geom_density(alpha=0.2)
Run Code Online (Sandbox Code Playgroud)
正如最初指定的,美学fill=
适用于两者,因此您可以使用直方图和密度几何图显示根据“x1”和“x2”分组的分布。如果您想要 x1 和 x2 组合的密度几何图形,只需指定fill=
直方图几何图形的美观即可:
ggplot(x, aes(n))+
geom_histogram(aes(y=..density.., fill=nombre),
color='gray50', alpha=0.2,
binwidth=0.25, position = "identity")+
geom_density(alpha=0.2)
Run Code Online (Sandbox Code Playgroud)