我有一个情节,其中我显示来自多个主题的个别值,按组着色。除此之外,还有每组的均值,使用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。
答案 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)))
然后,您可以使用scale_color_manual
获取特定颜色。