2013-12-09 13 views
6

Ggplot'ta bir kabarcık grafiği oluştururken, iki ayrı estetik seçim yapmayla ilgili bir sorun yaşıyorum ve eminim kodlama biçimimle ilgili bir şey var. benim arsa. Ben şöyle bir değişkene dayalı kabarcıkların rengini atarsanız aşağıdaki grafikte,: Bu arsa ile sahipKabarcık rengini değişken olarak belirleme, ggplot'taki seçimi sınırlandırıyor

V1<-rnorm(50) 
V2<-rnorm(50) 
V3<-c(rep("A",10),rep("B",10),rep("C",10),rep("D",10),rep("E",10)) 
V4<-V2+.1 
V5<-c(rep("BF1",9),rep("BF2",11),rep("BF3",8),rep("BF4",12),rep("BF5",10)) 
DF<-data.frame(V1,V2,V3,V4,V5) 

ggplot(DF,aes(x=V1,y=V2,size=V4,label=DF$V3,fill=V5),legend=FALSE)+ 
scale_y_continuous(limits = c(-3, 3))+ 
scale_x_continuous(limits = c(-3, 3))+ 
geom_point(color="black",shape=21,alpha=0.5)+ 
geom_text(size=2)+ 
theme_bw()+ 
scale_size(range = c(5, 20))+ 
scale_colour_brewer(palette="Blues") 

enter image description here

iki konu İstedim

1- vardır Renklerin varsayılan paletini daha az pastel bir şeye değiştirin. Scale_color_brewer argümanının renkleri "Blues" olarak değiştireceğini düşünmüştüm ama açıkçası böyle değil.

2- İkinci olarak, V4 için olan efsanenin şimdi boş daireler vardır, oysa aes (fill =) argümanı olmadan daireler doldurulmuştur. Biliyorum çünkü şu an çevremde birçok renk var, ama açık çevrelere karşı efsanem olarak sağlam (siyah) bir daire olmasını tercih ederim. Efsaneyi geçersiz kılmak ve çevreleri doldurmak için bir yol var mı?

+2

Doldurun ve renk farklı estetiktir. – joran

+1

daha az "pastel-y" rengine sahip olmak biraz zor olacak çünkü "alfa = 0,5" ayarı, yarıya kadar kullandığınız herhangi bir dolgu rengini sulandıracaktır ... ancak @joran, scale_colour_brewer yerine "scale_fill_brewer" kullanılmasını işaret ediyor. 'yardımcı olacaktır. –

cevap

4

(1) (2) guides(size=guide_legend(override.aes = list(fill="black", alpha=1)))


güncelleştirme kullanmak için scale_fill_brewer(palette="Blues")

kullanın: @BenBoker yukarıdaki yorumunda büyük noktasıdır. En azından, efsanedeki alfa kadar krank etmeyi öneririm: Yukarıdaki (2) ekleyin: , color=guide_legend(override.aes = list(alpha=0.9)) veya bu doğadan bir şey

İlgili konular