geom_histogram
和geom_density
共享同一轴。在这种情况下,我已经指定了两者都绘制密度图,通过在geom_histogram
中添加aes(y=..density)
。还要注意一些不同的美学效果,以避免重叠,并使我们能够更清楚地看到两个几何对象: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)
正如最初指定的那样,美学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)
我想到了一个想法,可以让你根据直方图来调整密度图的比例。
你可以使用stat:density
函数获取密度数据并手动缩放它们,然后使用geom_line
绘制它们:
ggplot(x, aes(n, fill=nombre))+
geom_histogram(alpha=0.5, binwidth=0.25, position = "identity") +
geom_line(aes(x,y, group=nombre),
~ .x %>% group_by(nombre) %>%
mutate(n_cut = cut(n, seq(min(n), max(n), 0.25))) %>%
summarize(
y = density(n)$y * max(table(n_cut)) / max(density(n)$y),
x = density(n)$x
)
)
geom_density(alpha=0)
可以获得更好的视图。 - Martin Galfill=
美学属性。在示例中,我已将其移动,以便直方图几何对象显示 x1 和 x2 的分布,而密度几何对象则显示 x 的整个分布。 - chemdork123