R中显示标签相反的堆积条形图

4
我正在尝试创建一个带有标签的堆积条形图,标签位于条形图中央。但是,出现了问题,第二列(“eIC”)的标签位置不正确。
以下是代码:
Role.Type=c("Other", "eIC", "eIC", "Manager", "eIC", "eIC", "Design", "eIC", "eIC", "Other", "Product", "Other", "Manager", "eIC", "eIC")
Role=c('Agile Coach', 'Android', 'Backend', 'Eng Manager', 'Data', 'Data Scientist', 'Design', 'iOS', 'ML', 'Operations', 'Product', 'Quality', 'Director', 'User Research', 'Web')
People=c(3, 3, 20, 11, 10, 7, 2, 2, 21, 1, 11, 3, 2, 2, 5)
df <- data.frame(Role.Type, Role, People)

g <- ggplot(df, aes(Role.Type, People)) +
       geom_col(aes(fill=Role), position='stack') +
       geom_text(aes(label=Role), size=3, position=position_stack(vjust=.5)) +
       scale_y_continuous(breaks=seq(0, 100, by=10)) +
       labs(title="Team Role Breakdown", y="People", x="Role Type")
g

结果如下:

并且结果为 在此输入图片描述

1个回答

4
您只需要在第一个ggplot()函数中添加"fill = Role",这样就可以得到您想要的图表,并且文本标签会显示在正确的位置:
g <- ggplot(df, aes(Role.Type, People, fill = Role)) +
  geom_col(position='stack') + 
  geom_text(aes(label=Role), size=3, position=position_stack(vjust=.5)) +
  scale_y_continuous(breaks=seq(0, 100, by=10)) + 
  labs(title="Team Role Breakdown", y="People", x="Role Type")

enter image description here


有没有办法在每列的顶部添加总数? - oneself

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接