2016-05-11 12 views
5

verwendet werden, beachten Sie bitte folgendegeom_smooth Irreführende in der Legende Färbung, wenn mehr als drei Farben in Plot

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) 

die

enter image description here

Die Farbe der Linien in der Legende von class zurückkehrt, irreführend, weil Blau - die Standardfarbe für geom_smooth - auch verwendet wird, um das Attribut c abzubilden.

Wie setzt man die Standardfarbe für geom_smooth auf eine neutrale Farbe - sagen wir - grau?

Antwort

3

Sie können guide in den Skalierungsfunktionen wie folgt überschreiben. Hier mache ich es grau

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

Verwandte Themen