r - 如何在ggplot中的箱线图上打印平均值、中位数和标准差?

标签 r ggplot2 boxplot

我有以下箱线图,我正在尝试打印每个箱上的平均值、中位数和标准差值,这是如何工作的? geom_boxplot 中有没有简单的方法或简单的参数来实现这一点? 谢谢

ggplot(mpg,aes(x=class,y=cty))+geom_boxplot()

enter image description here

最佳答案

您首先需要计算摘要统计数据:

library(dplyr)

summ <- mpg %>% 
  group_by(class) %>% 
  summarize(mean = mean(cty), median = median(cty), sd = sd(cty))

然后在您的 geom_label 调用中使用该数据框。

ggplot(mpg, aes(x = class, y = cty)) + geom_boxplot() + 
  geom_label(data = summ, aes(x = class, y = mean, 
    label = paste("Mean: ", round(mean, 1), "\nMedian: ", median, "\nSD: ", round(sd, 1))))

enter image description here

不是一个好看的图表,但您只需要调整大小和颜色来美化它,或者可以使用 geom_text 而不是 geom_label

关于r - 如何在ggplot中的箱线图上打印平均值、中位数和标准差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48633633/

相关文章:

r - 跨密度图 X 轴的意外线 (r)

r - 使用箱线图添加线图

r - 生成箱线图两个变量数据框时出错 : adding class "factor" to an invalid object

r - 不了解..密度的行为

r - 使用 geom_smooth 添加回归线以在 R 中使用离散 x 轴绘制

r - 在 ggplot 中注释分组箱线图 - 在箱线图下方添加观察数量

java - Mac OS High Sierra 上的 mailR send.mail Java 错误

r - 设置种子时,示例函数在控制台和针织文档中给出不同的结果

r - visNetwork中缩放后的节点中如何包含标签?

r - R中是否有一个函数可以用行标准平均值替换NA?