ggplot2:stat_summary中的多种颜色

时间:2014-10-29 18:12:26

标签: r colors plot ggplot2

我有一个情节,其中我显示来自多个主题的个别值,按组着色。除此之外,还有每组的均值,使用stat_summary计算。

我希望这两种方法可以按组进行着色,但是使用的颜色不同于单个数据。事实证明这很困难,至少在使用stat_summary时。我有以下代码:

ggplot(data=dat, 
       aes(x=Round, y=DV, group=Subject, colour=T1)) + 
  geom_line() + geom_point() + theme_bw() +
  stat_summary(fun.y=mean, geom="line", size=1.5,
               linetype="dotted", color="black",
               aes(group=T1))

产生此example graph

stat_summary创建的均值的颜色设置为黑色;否则它会像个别数据线一样呈红色和蓝色。但是,不可能设置多种颜色 - 因此color = c(" black"," blue")不起作用。

我已按照here的说法试过了scale_colour_manual,但这会改变各个数据行的颜色,使平均线不受影响。

有任何建议如何解决这个问题?代码和数据here

1 个答案:

答案 0 :(得分:5)

您需要为要映射的颜色创建不同的值:

ggplot(data=iris, 
       aes(x=Sepal.Length, y=Sepal.Width, color=Species)) + 
  geom_line() + geom_point() + theme_bw() +
  stat_summary(fun.y=mean, geom="line", size=1.5,
               linetype="dotted", aes(color=paste("mean", Species)))

resulting plot

然后,您可以使用scale_color_manual获取特定颜色。