2016-05-11 11 views
5

perche il seguenteingannevole geom_smooth colorazione nella leggenda quando più di 3 colori sono utilizzati nella trama

set.seed(28100) 
random_data <- data.frame(x=rnorm(100), 
          y=rnorm(100), 
          colour=sample(c("a","b","c"), 100, replace=TRUE), 
          class=sample(c("alpha","beta"), 100, replace=TRUE)) 
require(ggplot2) 
ggplot() + 
    geom_smooth(data=random_data, aes(x=x, y=y, colour=colour, linetype=class), se=FALSE) 

che restituisce

enter image description here

Il colore delle linee nella leggenda di class è fuorviante perché blu - il colore predefinito per geom_smooth - viene utilizzato anche per mappare l'attributo c.

Come impostare il colore predefinito per geom_smooth su un colore neutro, ad esempio grigio?

risposta

3

È possibile eseguire l'override utilizzando guide nelle funzioni di scala come questa. Qui sto facendo è grigio

ggplot() + 
     geom_smooth(data=random_data, aes(x=x, y=y, colour=colour, linetype=class), se=FALSE) + 
     scale_linetype_manual(values=c("solid","dashed") 
          ,guide = guide_legend(override.aes = list(color = "grey"))) 

enter image description here

Problemi correlati