繁体   English   中英

堆叠条形图ggplot2上的标签重叠

[英]Labels overlapping on Stacked bar chart ggplot2

下面的代码生成一个适当堆叠的条形图。 但是,我正在尝试添加标签以显示每个填充位置的百分比。 使用下面的代码,百分比标签与填充边界和 0 点附近的所有“堆叠”不对齐。

这是我使用的代码

pff <- read.table(header=TRUE, text='REGION Q99
Tunis NidaaTounes
Tunis Nepasvoter
Tunis Nahdha
Tunis Nepasvoter
Tunis Nahdha
Tunis Nahdha
Tunis NidaaTounes
Tunis Jabha
Tunis NidaaTounes
Tunis Autres
Tunis Nahdha
Tunis Nahdha
Tunis Autres
Tunis Jabha
Tunis Nepasvoter
Tunis Nepasvoter
Tunis CPR
Tunis Nahdha
Tunis Nepasvoter
Tunis Nepasvoter
Ariana Nahdha
Ariana Nepasvoter
Ariana NidaaTounes
Ariana CPR
Ariana NidaaTounes
Ariana NidaaTounes
Ariana NidaaTounes
Ariana CPR
Ariana Nahdha', stringsAsFactors=FALSE)

g <- ggplot(pff, aes(x = REGION, y =(..count..)/sum(..count..), fill=Q99))
g <- g + geom_bar(position="stack") + 
  labs(title="Vote par région") +
  labs(x=" ", y=" ")+
  labs(fill="Parti Politique")+
  coord_flip()+
  # scale_fill_manual(values=cbPalette)+
  scale_y_continuous(labels = percent)+
  theme_bw()+
  theme(panel.border = element_rect(colour = "white")) + 
  geom_text(aes( label = scales::percent((..count..)/sum(..count..)),
                 y=(..count..)/sum(..count..)), stat= "count", size=3)

在此处输入图片说明

我意识到这真的很旧,但是您正在寻找的解决方案是将position = position_stack(vjust = 0.5)到您的geom_text()调用中。 像这样:


g <- ggplot(pff, aes(x = REGION, y =(..count..)/sum(..count..), fill=Q99))
g <- g + geom_bar(position="stack") + 
  labs(title="Vote par région") +
  labs(x=" ", y=" ")+
  labs(fill="Parti Politique")+
  coord_flip()+
  # scale_fill_manual(values=cbPalette)+
  scale_y_continuous(labels = percent)+
  theme_bw()+
  theme(panel.border = element_rect(colour = "white")) + 
  geom_text(aes( label = scales::percent((..count..)/sum(..count..)),
                 y=(..count..)/sum(..count..)), stat= "count", size=3, position = position_stack(vjust = 0.5))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM