2011-02-06 141 views
4

我有以下ggplot2代碼繪出從第三到第97四分位的色帶:梯度在geom_ribbon

h <- ggplot(l, aes(x=age[limit])) 
h <- h + geom_ribbon(aes(ymin=X3rd[limit], ymax=X97th[limit]), fill="gray80") 
h 

的geom_ribbon help page表明梯度,gradient2等都是「相關秤」的填充此GEOM。我所追求的是讓外面的帶子變成灰色,讓中間變得更暗灰色,然後再讓外面變得更淺灰色,但我得到的印象(和一些谷歌搜索結果強化了這種印象),漸變不能實際上應用於色帶。

回答

7

geom_ribbon不支持漸變。 相反,如果我正確理解您要執行的操作,那麼重疊色帶可能會有用:

d <- data.frame(x=1:10, m=runif(10)) 
d <- transform(d, l1=m-1, l2=m-2, u1=m+1, u2=m+2) 

ggplot(d, aes(x)) + 
    geom_ribbon(aes(ymin=l2, ymax=u2), fill="grey60") + 
    geom_ribbon(aes(ymin=l1, ymax=u1), fill="grey40") 
+0

感謝您的回覆。這是我在此期間所做的,仍然看起來相當不錯,因爲我有5/9th 10/90th和25th/75th百分位數。我已經讀過,你可以嘗試使用geom_tile來實現漸變效果,但聽起來非常花哨。感謝您的確認。 – nzcoops 2011-02-07 02:36:35