使用 stat=summary 向条形图添加标签

Add labels to barplot with stat=summary

我有一个问题可能已经被问过很多次了。但是,我找不到任何对我有帮助的解决方案。我希望在每个条形图的中心显示各个条形图的值。 我的代码如下

  geom_bar(aes(x=Fläche, y=Bestäuberarten, fill=Fläche), 
           stat = "summary", fun = "mean")+
  scale_fill_manual(values = c("Brachfläche" = "#E74C3C", "Gestaltete Natur" = "#DAF7A6", "Trockenrasen" = "#F7DC6F"))+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"),
        text = element_text(size=12), legend.position="none", legend.title = element_blank())+
  labs(x =element_blank(), y = "Ø-Anzahl Bestäuber")

很乐意提供任何帮助。我想这与我的 aes 和 stat="summary" 部分有关,但我尝试了很多解决方案,但没有任何效果。

谢谢!

每个 stat_*() 函数中都记录了 'computed variables',您可以结合使用 after_stat()stage() 来访问这些函数。在下面的示例中,我们 stage() 让 y 值最初为 mpg,但在计算摘要后将其减半。同样,我们使用 after_stat() 作为汇总 y 值的标签。

library(ggplot2)

ggplot(mtcars, aes(factor(cyl), mpg)) +
  geom_bar(stat = "summary", fun = "mean") +
  geom_text(stat = "summary", fun = "mean",
            aes(y = stage(mpg, after_stat = y / 2),
                label = after_stat(y)))

reprex package (v1.0.0)

于 2021-07-09 创建

如果您发现在一堆层中使用相同的统计数据,预先计算统计数据可能更方便。