2013-05-09 16 views
6

Elde edilen% 95 güven aralığıyla birlikte bir ömür beklentisi veri kümesi oluşturdum. Bunları zaman ölçeğinde çiziyorum ama bantların noktalı çizgilerden ziyade gölgelenmesini tercih ediyorum. Kod gösterilmiştir:Güven aralıkları ggplot2 ile manuel olarak gölgelendirme

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") 

Sadece satırları değil, aralıkları gölgelemek için basit bir yol var mı? Basit bir şeyi kaçırıyorsam önceden özür dilerim ama bunu yapmanın basit bir yolunu gösterecek hiçbir şey bulamıyorum.

+4

Kullanım 'yerine geom_ribbon'. – joran

+2

Ve lütfen başkalarının kodunuzu denemesi için veri sağlayın (veya R ile mevcut verileri kullanın). – Arun

+1

Eğer ggplot içinde '$' kullanıyorsanız, muhtemelen yanlış yapıyorsunuzdur - aynı zamanda adalet olarak da bilinir: "ggplot2' $ 'için değil," veri "yi besler. – baptiste

cevap

25

Kendi verilerinizi sağladıysanız yardımcı olabilirsiniz, ama bence aşağıda ne yapıyorsunuz?

Birincisi, bazı kukla veri oluşturmak:

##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 

Sonra arsa oluşturun. Gölgeli bölge geom_ribbon kullanılarak oluşturulur:

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

Eğer iki veya daha fazla jeom_line (...) + geom_ribbon (...) kümesini aynı x için değiştirirseniz, ancak farklı y, ymin, ymax, nasıl bir lejant/etiket ekleyebilirim? – jf328

İlgili konular