2012-06-13 40 views
15

Bir plottaki farklı yönlere panel etiketleri eklemeye çalışıyorum. Onları 1 olmak istiyorum:Farklı yönlere farklı ek açıklamalar eklemek için açıklama ekle

d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) + 
    xlim(0, 2) + stat_binhex(na.rm = TRUE) + opts(aspect.ratio = 1) 

d1<-d + facet_wrap(~ color) 

d1+annotate("text", x=0.25, y=1.5e+04, label=1:7) 

Şimdi

Error: When _setting_ aesthetics, they may only take one value. Problems: label 

verir, aşağıdaki kodu 7, ama ben tek değer ve bunu her aşamasından gelen çoğaltılan bu alabilirsiniz. Ama annotate() kullanarak farklı yönlerde farklı etiketler nasıl olabilir?

cevap

21

annotate ile yapamazsınız. Ama bir data.frame kurarak ve bir geom_text için veri kaynağı olarak kullanarak, (birkaç defter tutma yönü ile) kolaydır.

d1 + geom_text(data=data.frame(x=0.25, y=1.5e+04, label=1:7, 
           color=c("D","E","F","G","H","I","J")), 
       aes(x,y,label=label), inherit.aes=FALSE) 

enter image description here

İlgili konular