Misleading geom_smooth geometry in a legend when more than three colors are used in a plot

Please consider the following

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) 

which returns

enter image description here

The color of the lines in the legend of the class is misleading, since blue - the default color for geom_smooth - is also used to match the c attribute.

How to set the default color for geom_smooth to a neutral color - say - gray?

+5
source share
1 answer

You can override the use of guide in such large-scale functions. I'm doing gray here

  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

+3
source

All Articles