2012-10-23 9 views
5

È un modo per ri-tracciare qualcosa ma utilizzando un set di dati con sottotitoli senza dover scrivere di nuovo l'intero codice?Ripeti ggplot utilizzando dati diversi senza digitare l'intero codice

forse qualcosa come last_plot() ma consentire a uno specifico di data.frame di utilizzare?

+1

Si prega di essere più specifico con la tua domanda - Non posso dire _esattamente_ quello che stai cercando di fare, o perché. –

risposta

9

È possibile utilizzare l'operatore di %+%:

##Two data sets: 
R> dd = data.frame(x = runif(10), y=runif(10)) 
R> dd_new = data.frame(x = runif(10), y=runif(10)) 

R> g = ggplot(dd, aes(x,y)) + geom_point() 
R> g 
R> g %+% dd_new 
+2

+1 Grazie per aver introdotto quello! –

+0

Forse ovvio, ma vale la pena sottolineare che dopo aver usato l'operatore '% +%' puoi continuare a usare anche l'operatore '+': g% +% dd_new + labs (title = "Miglior grafico") ' – Nat

4

anche se ritengo che la risposta di Csgillespie è completa. Mi piacerebbe aggiungere un metodo secondario che uso personalmente abbastanza frequentemente, ma raramente lo vedo in natura. È ottimo per applicare temi aziendali/personali ed evitare di ridigitare il proprio lavoro.

È possibile salvare gli elementi ggplot2 come una lista, proprio come se li stesse scrivendo con ... + ... +

default.point <- list(geom_point(), 
coord_flip(), 
theme(
axis.text.x=element_text(size=12 
))) 

ggplot(diamonds,aes(carat, price, colour=cut)) + default.point 
Problemi correlati