2013-05-09 62 views
6

我已經手動創建了具有95%置信度帶的預期壽命數據集。我在時間尺度上繪製了這些曲線,但寧願將這些樂隊變成陰影而不是虛線。顯示的代碼:使用ggplot2手動着色置信區間

p1 = ggplot() 
p2 = p1 + geom_line(aes(x=pl$Time, y=pl$menle), colour="blue") 
p3 = p2 + geom_line(aes(x=pl$Time, y=pl$menlelb), colour="blue", lty="dotted") 
p4 = p3 + geom_line(aes(x=pl$Time, y=pl$menleub), colour="blue", lty="dotted") 

是否有一種簡單的方法來遮蔽間隔而不是隻是有線? 如果我錯過簡單的事情,我提前道歉,但我找不到任何指示一個簡單的方法來做到這一點。

+4

使用'geom_ribbon'代替。 – joran 2013-05-09 13:51:42

+2

並且請爲其他人提供數據以嘗試您的代碼(或使用R提供的數據)。 – Arun 2013-05-09 13:52:23

+1

請注意,如果您在ggplot中使用'$',您可能會犯這種錯誤 - 也就是俗語:「ggplot2不在乎'$',它在'data'上傳播。 – baptiste 2013-05-09 14:31:16

回答

25

如果您提供了您自己的數據,這將會有所幫助,但我認爲以下內容會對您有所幫助。

首先,創建一些虛擬的數據:

##I presume the lb and ub are lower/upper bound 
pl = data.frame(Time = 0:10, menle = rnorm(11)) 
pl$menlelb = pl$menle -1 
pl$menleub = pl$menle +1 

然後創建情節。陰影區域是用geom_ribbon創建:

ggplot(pl, aes(Time)) + 
    geom_line(aes(y=menle), colour="blue") + 
    geom_ribbon(aes(ymin=menlelb, ymax=menleub), alpha=0.2) 

enter image description here

+0

如果我爲兩個或更多的geom_line(...)+ geom_ribbon(...)繪製相同的x,但不同的y,ymin,ymax,我該如何添加圖例/標籤? – jf328 2015-10-20 14:08:28

相關問題