如何在 GGplot2 中的条形上添加百分比符号

问题描述

搜索了很长时间,但没有提示帮助我,所以我会单独问。 我是 R 的初学者,编写了以下代码

matchplayerNew <- match_player %>% group_by(civ,group = winner) %>%
  summarize(count = n()) %>%  # count records by winner
  mutate(pct = count/sum(count))  # find percent of total

ggplot(matchplayerNew,aes(civ,pct,fill = group)) + 
  geom_bar(stat = "identity") + 
  geom_text(aes(label = sprintf("%0.2f",round((pct*100),digits = 2))),position = position_stack(vjust = .5),angle = 90) +
  scale_y_continuous(labels = percent) + 
  theme(axis.text.x = element_text(angle = 90,vjust = 0.5,hjust=1,size = 13)) +
  scale_fill_manual("legend",values = c("Loose" = "royalblue3","Win" = "darkorange2"))

这给了我以下情节:

Plot image

我现在想在每个条形和颜色中添加百分比符号。有什么建议吗?

提前致谢

解决方法

你试过了吗:

geom_text(aes(label = percent (sprintf("%0.2f",round((pct*100),digits = 2))))

使用 scales::percent 来做。

geom_text(aes(label = paste0(sprintf("%0.2f",digits = 2))),"%")

将 % 粘贴到标签的末尾

geom_text(aes(label = sprintf("%0.2f%%",digits = 2)))

%% in sprintf 插入文本

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...