I am trying to make the fill of the legend transparent ggplot. I followed the instructions in one of the Hadley ggplot2 tutorials to change the legend key fill, but for some reason, when I set the fill to transparent, it fills in gray. Even when I set the legend fill to white, it still looks gray in the last plot.
Here is an example:
library(ggplot2) data1 = c(0,10, 11, 23, 33, 40, 41, 50, 59, 68, 76, 88, 90, 99) data2 = c(2, 8, 10, 22, 39, 47, 49, 55, 62, 70, 76, 86, 88, 95) df = data.frame(data1, data2) (plot = ggplot() + geom_smooth(data=df, aes(data1, data2,colour="sample1"))+ geom_abline(intercept=0, slope=1,linetype="dashed", color = "black")+ scale_x_continuous(expand=c(0,0), limits=c(0,100)) + scale_y_continuous(expand=c(0,0), limits=c(0,100))+ theme_classic()+ labs(y="data2", x="data1", title="sample 1 data1 vs data2") + theme(plot.title = element_text(size=18, face="bold"), legend.key = element_rect(colour = "transparent", fill = "white"), legend.justification = c(1,0), legend.position = c(1,0))+ scale_color_discrete(name="Sample") )

If I set theme(legend.key = element_rect(colour = "transparent", fill = "red")) , I get the following graph: 
So it seems that I can change the fill of the legend, but not only the color is white or transparent.
Does anyone know what I'm doing wrong, or if there is no way to make the legend key filled with transparent / white?
EDIT: setting theme(legend.key = element_rect(fill = alpha("white", 0.0))) Does not fix the problem.
See here:
library(ggplot2) library(scales) data1 = c(0,10, 11, 23, 33, 40, 41, 50, 59, 68, 76, 88, 90, 99) data2 = c(2, 8, 10, 22, 39, 47, 49, 55, 62, 70, 76, 86, 88, 95) df = data.frame(data1, data2) (plot = ggplot() + geom_smooth(data=df, aes(data1, data2,colour="sample1"))+ theme_classic()+ labs(y="data2", x="data1", title="sample 1 data1 vs data2") + theme(plot.title = element_text(size=18, face="bold"), legend.key = element_rect(colour = "transparent", fill = alpha("red", 0)), legend.justification = c(1,0), legend.position = c(1,0))+ scale_color_discrete(name="Sample") )
EDIT2: If I use geom_line() instead of geom_smooth , I can set the legend filling to NA, so it should be because the line in geom_smooth has a gray value for the confidence interval around it, so the legend mirror looks like this.
(plot = ggplot() + geom_smooth(data=df, aes(data1, data2,colour="sample1"))+ geom_abline(intercept=0, slope=1,linetype="dashed", color = "black")+ scale_x_continuous(expand=c(0,0), limits=c(0,100)) + scale_y_continuous(expand=c(0,0), limits=c(0,100))+ theme_classic()+ labs(y="data2", x="data1", title="sample 1 data1 vs data2") + theme(plot.title = element_text(size=18, face="bold"), legend.key = element_rect(colour = NA, fill = NA), legend.justification = c(1,0), legend.position = c(1,0))+ scale_color_discrete(name="Sample") )
