2013-05-09 50 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

+2

他の人があなたのコードを試してみるためのデータを提供してください(またはRで利用可能なデータを使用してください)。 – Arun

+1

ggplotで '$'を使用している場合、おそらく間違っていると言います。「ggplot2は '$'を気にせず、 'data'を送ります。 – baptiste

答えて

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

同じxに対してy、ymin、ymaxの異なる2つ以上のgeom_line(...)+ geom_ribbon(...)をプロットすると、どのように凡例/ラベルを追加できますか? – jf328

関連する問題