2011-12-21 16 views
12

Çok sayıda boyutta değişen büyük bir dağılım grafiği çizmeye çalışıyorum.ggplot2 ile noktaların bir alt kümesi için şekli değiştirme

p <- ggplot(mtcars, aes(wt, mpg, shape=cyl, colour=gear, size=carb)) + 
     geom_point() 

Sample plot with multiple variables

mtcars veri kümesi kullanarak, basitçe çeşitli şekiller, renkler ve boyutlar dahil ediyorum:

İşte benim başlangıç ​​arsa var. Şimdi buna eklemek istediğim, carb == 8 ile tüm puanların etrafında bazı ayırt edici işaretler. Örneğin, bu noktaların etrafında büyük bir siyah daire ekleyin.

p + geom_point() + geom_point(colour="black", shape=1, size=5) 

Doing

istediğim gibi çevrelerin aldığını kapanmaya olduğunu, ancak tüm noktaları Çevre edinmek, bunun yerine bu sınırlamak istediğiniz gibi noktalar arasında.

Bu sorunla ilgili önerileri çok takdir ediyorum.

cevap

21

Başlangıçta değişkenlerinizi ggplot işlevi içine koymak yerine, eklediğiniz her katman için değişkenlerinizi ayrı ayrı eşlemeye çalışın.

p <- ggplot(data = mtcars)+ 
geom_point(aes(wt, mpg, shape=as.factor(cyl), colour=gear, size=carb))+ 
geom_point(aes(wt[carb==8], mpg[carb==8]), colour="black", shape=1, size=7) 

img

+5

iyi. Şahsen ben, orijinal verinin istenen alt kümesini geom_point (data = subset (mtcars, carb == 8), aes (...)) 'gibi geom'a aktarma eğilimindeyim. muhtemelen işaret etmeye değer. – joran

+0

Harika! Bu tam olarak aradığım şey, ve bu çok basit. Teşekkürler! – fozziethebeat

+1

Bir alt soru olarak, siyah halkaların karbür = 8 civarında olduğunu göstermek için lejandı nasıl düzenleyebilirim? – fozziethebeat

İlgili konular