2013-01-07 16 views
5

Supponiamo che preferirei geom_point per utilizzare i cerchi (pch=1) anziché i punti pieni (pch=16) per impostazione predefinita. Puoi modificare la forma dei marcatori passando un argomento shape a geom_point, ad es.Come cambiare l'estetica di default in ggplot?

ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point(shape=1) 
ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point(shape=16) 

ma non riesco a capire come modificare il comportamento predefinito.

+2

@AR Io davvero non credo che sia pertinente a questa domanda. – joran

risposta

12

Geom (e stat) di default può essere aggiornato direttamente:

update_geom_defaults("point", list(shape = 1)) 
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() 

enter image description here

7

Un modo per farlo (anche se non mi piace molto) è creare la propria funzione geom_point. Per esempio.

geom_point2 <- function(...) geom_point(shape = 1, ...) 

poi basta usare come normale:

ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point2() 

Oppure, se si vuole si può ignorare la funzione geom_point():

geom_point <- function(...) { 
    ggplot2::geom_point(shape = 1, ...) 
} 

Questo potrebbe essere considerato una cattiva pratica, ma funziona. Quindi non c'è bisogno di cambiare il modo di trama:

ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point() 
Problemi correlati