ggplot2:更改图例符号

Bij*_*jan 6 r graph legend ggplot2

我已经绘制了几行,我想知道如何更改图例中的符号,从细线到完整块.

我想要离开

这个这个

(使用geom_line而不是geom_bar时)

Did*_*rts 11

您可以使用函数guides()然后使用参数override.aes=设置行size=(宽度)来获得某个大值.删除fill=NAlegend.key=内部设置的图例键周围的灰色区域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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


aos*_*ith 6

ggplot2_3.2.0开始,您可以使用中的key_glyph参数选择要在图例键中显示的字形geom_*()

例如,您想使用矩形而不是直线作为字形。在这种情况下,您可以

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) )+
    geom_line(key_glyph = "rect")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

请参阅?draw_key以获取当前可用字形的列表。