2014-10-29 97 views
1

我有一個情節,其中我顯示來自多個主題的單個值,按組顯示。除此之外,每組使用stat_summary進行計算。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(「黑色」,「藍色」)不起作用。

我已經嘗試了scale_colour_manual,解釋爲here,但這會改變各條數據線的顏色,使平均線不受影響。

任何建議如何解決這個問題?代碼和數據here

回答

4

您需要創建映射不同的值,顏色:

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來獲得特定的顏色。

+0

謝謝!太精彩了。 爲了記錄(因爲那花了我另一個時刻弄清楚),分組需要保持完整,所以aes是aes(color = paste(「mean」,Role),group = Role)。 – simoncolumbus 2014-10-29 18:42:37