添加图例以指示形状

时间:2016-10-31 02:48:32

标签: r ggplot2

如下所述,为绘图中使用的形状添加图例需要一些帮助。该图如下 - 它是一个箱形图,平均值,置信区间的误差条。

结果图如下 - 如何向此添加图例,以告知red circles表示meangreen error bars表示{{1 }} - 如下图所示

必填传奇

Legend

剧情 Box plot with mean & ci

以下给出了用于生成上述内容的数据和代码以供参考。

confidence interval

需要在上面的代码中添加什么才能获得显示圆圈和错误栏形状指示的统计摘要的图例?

1 个答案:

答案 0 :(得分:3)

如果您真的想单独为它们着色,可以使用此代码。我使用geom_linerange代替geom_errorbar来获取图例中的垂直线。另外,正如建议的那样,我在aes内部映射颜色以获取图例,然后我使用override.aes来限制每个值的绘图。

ggplot(data=df, aes(x=group, y=metric ) ) +
  geom_boxplot() +
  geom_point(data=metric_means
             , aes(x=metric_means[,1]
                   , y=metric_means[,2]
                   , colour = "Mean")
             , shape=21, size=2) +
  geom_linerange(data=metric_mean_ci
                 , aes(ymin=mean-ci
                      , ymax=mean+ci
                      , x=group
                      , y=mean
                      , color="95% CI")
                ) +
  scale_color_manual(name = "", values = c("green", "red")) +
  guides(colour = guide_legend(override.aes = list(linetype = c("solid", "blank")
                                                   , shape = c(NA, 1))))

给出:

enter image description here

另一种需要较少复杂设置的替代方法是使用一些已经可用的功能,特别是stat_summary

ggplot(data=df
       , aes(x=group, y=metric ) ) +
  geom_boxplot() +
  stat_summary(
    aes(color = "Mean and 95% CI")
    , fun.data = mean_cl_normal
    )

给出:

enter image description here