首页 > 解决方案 > 向 ggplot2 条形图添加标签

问题描述

我喜欢在 ggplot2 中为分类数据制作相对频率条形图的简单性,但我很难在它们上面添加百分比值作为标签。有人对此有简单的解决方案吗?

library(ggplot2)
df <- data.frame(responses=c(rep("A",5),
                             rep("B",15),
                             rep("C", 25)))
ggplot(df, aes(responses))+
  geom_bar(aes(y=..prop..*100, group=1))+
  geom_text(aes(label=..prop.., group=1))

标签: rggplot2

解决方案


使用 绘制计算的比例可能更直接geom_col()

df <- data.frame(responses=c(rep("A",5),
                             rep("B",15),
                             rep("C", 25)))

df1 <-  df %>% 
  count(responses) %>% 
  mutate(prop = n/sum(n))

ggplot(df1, aes(responses, prop)) +
  geom_col() +
  geom_label(aes(label = scales::percent(prop)))

推荐阅读