使用 stat=summary 将标签添加到条形图
Posted
技术标签:
【中文标题】使用 stat=summary 将标签添加到条形图【英文标题】:Add labels to barplot with stat=summary 【发布时间】:2021-09-20 01:04:15 【问题描述】:我有一个问题可能已经被问过很多次了。但是,我找不到任何对我有帮助的解决方案。我想让各个条的值显示在每个条的中心。 我的代码如下
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" 部分有关,但我尝试了很多解决方案但没有任何效果。
谢谢!
【问题讨论】:
【参考方案1】:每个stat_*()
函数中都记录了“计算变量”,您可以将它们与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 创建
如果您发现在一堆层中使用相同的统计数据,那么预先计算统计数据可能会更方便。
【讨论】:
以上是关于使用 stat=summary 将标签添加到条形图的主要内容,如果未能解决你的问题,请参考以下文章
Python使用seaborn可视化分组条形图并且在分组条形图的条形上添加数值标签(seaborn grouped bar plot add labels)