微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ggplot2,并排和比例填充

如何解决ggplot2,并排和比例填充

我有如下数据:

enter image description here

我的目标是建立一个如下的条形图网格:每个图将特定于1个race_ethnicity组。每个图中的x轴将是不同的age_bin组。对于每个age_bin,都有两个小节:男性1个,女性1个。对于每个小节,我希望它用“可能//(不太可能+可能)”的比例填充。最好,每个条形的高度为1,并有一条直线穿过它,因此该条形的可能百分比是带有标签的一种颜色。这是我目前拥有的:

enter image description here

我遇到的问题是:1)使用预定比例作为填充,以及2)具有两种不同的“填充”(一种用于生物性别,一种用于预定比例)。

感谢任何可以帮助您的人。我的代码当前如下:

ggplot(data=who_Votes_data,aes(x=age_bin,y=1,fill=gender)) +
  geom_bar(stat='identity',aes(fill = gender),position = position_dodge2()) +
  facet_wrap(~race_ethnicity,nrow = 2,scales = "free") + 
  geom_text(aes(label=paste0(sprintf("%1.1f",proP*100),"%"),y=prop),colour="white") +
  labs(x = expression("Age Group"),y= ("Prortion of Likely Voters"),title = "Proportion of Likely Voters Across Age Groups,Race/Ethnicity,and Sex",caption="figure 1") + theme(plot.caption = element_text(hjust = 0.5,vjust = -0.5,size = 18))

https://docs.google.com/spreadsheets/d/1a7433iwXNSwcuXDJOvqsxNDN6oaYULVlyw22E41JROU/edit?usp=sharing

更新代码

library(tidyverse)
library(ggplot2)
df<- read.csv("sampleVotes.csv")

df %>% 
group_by(race_ethnicity,age_bin,gender) %>% 
summarise(Likely = sum(Likely),Unlikely = sum(Unlikely),proportion = Likely/(Likely+Unlikely)) %>% ungroup() %>% 
ggplot(aes(x = age_bin,y = proportion,fill = gender)) + 
geom_bar(stat = "identity",position = "dodge") + 
facet_wrap(~race_ethnicity,nrow = 2) + 
geom_text(aes(label=paste0(sprintf("%1.1f",proportion*100),y=proportion),position = position_dodge(width = 1),colour="Black",size = 2.2) + 
labs(x = expression("Age Group"),y= ("Proportion of Likely Voters"),caption="figure 1") +
 theme(plot.caption = element_text(hjust = 0.5,size = 18))

enter image description here

解决方法

这是我要使用的代码。我确实根据合并数据的方式进行了一些更改。

longdouble

这是它的样子 enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。