2010-02-24 17 views
26

ggplot'ta bir arsaya bir dizi ekleyebilirim:Bir ggplot'a başka bir katman/yeni seri nasıl ekleyebilirim?

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() 

Başka bir diziyi nasıl ekleyebilirim, örn. Elmaslara karşı rubilerin maliyetini çizme. Yakut cevherlerin de elmas veri kümesinde olduğu varsayılmıştır. Yakutlar verileriyle başka bir katman üzerinde durmaya çalıştım, ama sadece elmasları/karatları değil yakutları çiziyor.

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + aes(x = rubies, y = price) 

Bunu ilk önce tüm verileri bir araya getirip komplo hazırlamaya hazır olduğunu görebiliyorum, bu yüzden belki de o rotayı takip etmeliyim. Ancak, böyle bir arsaya başka bir dizi eklemek çok zor olmamalı gibi görünüyor, ama nasıl yapılacağını anlayamıyorum.

cevap

44
rubies <- data.frame(carat = c(3, 4, 5), price= c(5000, 5000, 5000)) 

ggplot(diamonds, aes(carat, price)) + 
    geom_point() + 
    geom_point(data = rubies, colour = "red") 
+0

İkinci bir dizi sayı * ve * bu yeni noktalarla ilgili ikinci bir satır eklemek isterseniz ne olur? Örneğin, ggplot (dat, aes (X, Y)) + jeom_point() + geom_line() 'niz varsa ve hem 2. jeom_point'i hem de 2. jeom_line'ı eklemek isterseniz? – theforestecologist

+0

Her iki geom nesnesi için 2. veri kümesini ve değişken listesini tekrarlamak zorunda mıyım yoksa daha iyi bir yol var mı? – theforestecologist

İlgili konular