ggplot - 如何堆叠和分组条形图?

Posted

技术标签:

【中文标题】ggplot - 如何堆叠和分组条形图?【英文标题】:ggplot - How to stack and group bar chart? 【发布时间】:2021-11-16 08:46:29 【问题描述】:

我有两个具有相同因素标签的条形图,我想将它们组合成一个图表 (lines 59-62),这样对于每个年龄组,就有两个条形图(一个用于犯罪者年龄,一个用于受害者年龄)并且每个条都保留堆叠的谋杀/未谋杀条。

任何帮助表示赞赏。谢谢!

【问题讨论】:

请在问题文本中包含您的代码和示例数据。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

你想要的有点不可能,因为条形应该由两个变量堆叠。肯定有一种方法可以做你想做的事,但我认为最简单的方法是reshape2::melt你的data.frame,然后将两个图并排显示。

m <- reshape2::melt(shootings[,c(2,5,8,9)],measure.vars=c("Perp_Age","Victim_Age"))

ggplot(m, aes(fill=Murdered, y=Cases, x=value))+
  geom_bar(position='stack', stat='identity')+
  facet_wrap(~variable)

wich 给你这个情节:

【讨论】:

这还是比我之前的好。谢谢!

以上是关于ggplot - 如何堆叠和分组条形图?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ggplot 在分组条形图上定位标签

ggplot2:3路交互堆积条形图的分组条形图

R语言画图-条形图,堆叠条形图(ggplot2)

R语言ggplot2可视化:ggplot2可视化水平堆叠条形图并且在每个堆叠条形图的内部居中添加百分比文本标签信息

R语言使用ggplot2可视化堆叠条形图,并在堆叠条形图上显示数据值实战

R可视化ggplot2绘制堆叠的条形图(Stacked Barplot)