2010-02-24 8 views
26

In ggplot posso aggiungere una serie ad una trama con:Come posso aggiungere un altro livello/nuova serie a un ggplot?

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

Come faccio semplicemente aggiungo un'altra serie, per esempio tracciando il costo dei rubini contro i diamanti. Supponendo che i rubini fossero anche nel set di dati dei diamanti. Ho provato a stendere un altro strato con i dati dei rubini, ma traccia solo i rubini e non i diamanti/carati.

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

posso vedere che questo sarebbe possibile combinando tutte i dati insieme prima, pronti a tracciare, quindi forse dovrei imboccare questa strada. Tuttavia, aggiungere un'altra serie a una trama come questa sembra non dovrebbe essere troppo difficile, ma non riesco a capire come farlo.

risposta

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

E se si desidera aggiungere una seconda serie di punti * e * una seconda riga relativa a questi nuovi punti? Ad esempio, se hai già 'ggplot (dat, aes (X, Y)) + geom_point() + geom_line()' e vuoi aggiungere sia un secondo 'geom_point' che un secondo' geom_line'? – theforestecologist

+0

Devo ripetere il 2 ° set di dati e l'elenco delle variabili per entrambi gli oggetti geom, oppure c'è un modo migliore? – theforestecologist

Problemi correlati