2014-02-16 56 views
1

如何使用ggplot2stat_summary來顯示我選擇的顏色?例如:如何在ggplot2 stat_summary圖中設置多種顏色?

simVol <- data.frame(simId=c(1,1,1,1,2,2,2,2), 
         farm=rep(c('farm A', 'farm A', 'farm B', 'farm B'),2), 
         period=rep(1:2,4), 
         volume=c(9,21,12,18,10,22,11,19)) 

P10meanP90 <- function(x) data.frame(
    y = mean(x), 
    ymin = quantile(x, .1), 
    ymax = quantile(x, .9) 
) 

此命令地塊容積的抗週期每個農場分佈,使用默認顏色:

ggplot(simVol, aes(x=period, y=volume, colour=farm)) + 
    stat_summary(fun.data="P10meanP90", geom="smooth", size=2) 

但是,如果我添加colour='green'stat_summary的參數,它代替繪製跨農場的總量。我試過使用colour=c('green','orange'),但這仍然只顯示綠線。

如何更改此圖中的顏色?

感謝

回答

2

scale_colour_manual是你正在尋找的功能。 http://docs.ggplot2.org/0.9.3.1/scale_manual.html

ggplot(simVol, aes(x=period, y=volume, colour=farm)) + 
    stat_summary(fun.data="P10meanP90", geom="smooth", size=2) + 
    scale_colour_manual(values = c("green", "orange")) 

enter image description here

+0

完美 - 謝謝!實際上,我也使用'fill'參數來爲P10-P90範圍提供顏色。有沒有辦法爲每個農場提供不同的值?謝謝! –

+0

@RacingTadpole我爲'scale_colour_manual'文檔添加了一個鏈接,其他功能控制了不同美學的縮放比例。看'scale_fill_manual' –

+0

謝謝。我剛剛嘗試過'ggplot(simVol,aes(x = period,y = volume,color = farm))+ stat_summary(fun.data =「P10meanP90」,geom =「smooth」,size = 2)+ scale_colour_manual(values = c (「綠色」,「橙色」))+ scale_fill_manual(值= c(「青色」,「粉紅色」))'填充仍然是灰色的 - 我用錯了嗎? –

相關問題