geom_bar plot with position =“dodge”和geom_text复制值

时间:2018-06-12 20:20:19

标签: r ggplot2 geom-bar geom-text

我看了SO,我看到了很多关于geom_text与酒吧相关的价值观的帖子,但我没有看到任何与我的问题有关的内容。对不起,如果我错过了。我正在尝试使用position="dodge"在ggpot2中创建一个条形图,我试图在每个条形组上方添加一个汇总值。我很接近但是当我添加geom_text标签时,它显示了一堆值。理想情况下,我希望删除所有值,但每个分组一个。我可重复的例子如下。提前感谢您提供的任何帮助!

gather.iris <- iris %>% 
gather(key=flower_att, value=measurement, -Species) %>% 
  mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))

ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
  geom_bar(stat="identity", position="dodge") +
  geom_text(aes(label=sum_value), vjust=-0.5, check_overlap=T)

enter image description here 1

1 个答案:

答案 0 :(得分:0)

感谢Gregor的快速回答。我不明白我需要为文本选择x和y值,就像我想要的情节一样。对这个问题的回答不太好。

gather.iris <- iris %>% gather(key=flower_att, value=measurement, -Species) %>% 
  mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))

ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
  geom_bar(stat="identity", position="dodge") +
  geom_text(aes(y=as.numeric(Species), label=sum_value), vjust=-0.5, check_overlap=T)

enter image description here