ggplot2: Change legend symbol

2019-02-24 13:48发布

问题:

I have plotted several lines and I am wondering how to change the symbol in the legend to go from the thin line to a full block.

I am trying to go from

to

(while using geom_line and not geom_bar)

回答1:

You can use function guides() and then with argument override.aes= set line size= (width) to some large value. To remove the grey area around the legend keys set fill=NA for legend.key= inside theme().

df<-data.frame(x=rep(1:5,each=3),y=1:15,group=rep(c("A","B","C"),each=5))
ggplot(df,aes(x,y,color=group,fill=group))+geom_line()+
  guides(colour = guide_legend(override.aes = list(size = 10)))+
  theme(legend.key=element_rect(fill=NA))