【问题标题】:ggplot multiple boxplots and stat_summary positionggplot 多个箱线图和 stat_summary 位置
【发布时间】:2020-05-06 13:20:36
【问题描述】:

我有以下代码。我想更改箱线图的颜色,使它们都具有相同的填充颜色(灰色)。 另外我想让 stat_summary 文本贴在每个条形图的底部,但似乎只提供相对位置?

谢谢

boxp <- ggplot(mtcars, aes(as.factor(cyl), wt, fill=as.factor(am)) ) +
  geom_bar(position = "dodge", stat = "summary", fun.y = "median") +
  geom_boxplot(outlier.shape = NA, width=0.2, color = "black", position = position_dodge(0.9)) +
  stat_summary(aes(label=round(..y..,2)), fun.y=median, geom="text", size=8, col = "white", vjust=8, position = position_dodge(0.9)) +
  stat_summary(fun.y=mean, geom="point", shape=18, size=4, col="white", position = position_dodge(0.9)) +
  labs(x = "Conditions", y = "Medians") +
  scale_y_continuous(limits=c(0,7),oob = rescale_none) +
  theme_bw()
boxp

【问题讨论】:

    标签: r ggplot2 boxplot


    【解决方案1】:

    这是一个可能的解决方案,但stage() 函数需要 ggplot v3.3.0。

    指出主要变化:

    • 我没有将填充用作隐式分组,而是明确设置了分组,使其不与填充绑定。
    • 我添加了填充作为条形几何的美感。
    • 箱线图现在具有未映射的美学fill = 'gray'
    • 文本统计摘要使用stage() 计算统计信息,然后使用0 作为实际位置。
    library(ggplot2)
    library(scales)
    
    ggplot(mtcars, aes(as.factor(cyl), wt,
                       group = interaction(as.factor(cyl), as.factor(am)))) +
      geom_bar(aes(fill=as.factor(am)), position = "dodge", stat = "summary", fun = "median") +
      geom_boxplot(outlier.shape = NA, width=0.2, 
                   color = "black", fill = 'gray',
                   position = position_dodge(0.9)) +
      stat_summary(aes(label=round(after_stat(y), 2), y = stage(wt, after_stat = 0)), 
                   fun=median, geom="text", size=8, col = "white", vjust=-0.5,
                   position = position_dodge(0.9)) +
      stat_summary(fun=mean, geom="point", shape=18, size=4, col="white", position = position_dodge(0.9)) +
      labs(x = "Conditions", y = "Medians") +
      scale_y_continuous(limits=c(0,7),oob = rescale_none) +
      theme_bw()
    

    reprex package (v0.3.0) 于 2020 年 5 月 6 日创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多