如何使用 ggplot 制作堆叠多重密度图?

问题描述 投票:0回答:1

我有一个包含 2 列的数据集。第一个是一个因素,它只是表示组名称,第二个是值。我可以通过过滤一组并使用 geom_histogram 来制作一个直方图。我还可以使用 aes(fill=column1) 在同一平面上制作多个直方图,甚至使用facet_wrap 为每个组直方图制作单独的图。

但是我怎么能得到这样的东西呢? (这是一份关于墨西哥选举的报纸的图表)

这里是一些生成虚拟数据的示例代码,我没有真实的数据,但这是我正在寻找的美学。

PRI <- rnorm(10000,mean=20,sd=5)
PAN <- rnorm(10000,mean=100,sd=20)
PRD <- rnorm(10000,mean=80,sd=15)
MORENA <- rnorm(10000,mean=244,sd=50)
PRI <- data.frame(group="PRI",value=PRI)
PAN <- data.frame(group="PAN",value=PAN)
PRD <- data.frame(group="PRD",value=PRD)
MORENA <- data.frame(group="MORENA",value=MORENA)

data <- rbind(PRI,PAN,PRD,MORENA)
ggplot(data=data,aes(x=value,fill=group))+
geom_histogram(bins=1000)
r ggplot2 histogram
1个回答
0
投票

这里有一个关于如何在 DataNovia 的 ggplot2 中使用

geom_density_ridges
的好教程:https://www.datanovia.com/en/blog/elegant-visualization-of-密度-distribution-in-r-using-ridgeline /

这是使用

iris
数据集的快速示例:

ggplot(iris, aes(x = 萼片长度, y = 物种)) + geom_密度_脊(填充=“#00AFBB”,rel_min_height = 0.01)

© www.soinside.com 2019 - 2024. All rights reserved.