13

我已经绘制了几条线,我想知道如何将图例中的符号从细线变为完整块。

我试图从

这个这个

(使用 geom_line 而不是 geom_bar 时)

4

2 回答 2

26

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")

在此处输入图像描述

?draw_key有关当前可用字形的列表,请参阅。

于 2019-06-17T21:51:31.030 回答
14

您可以使用函数guides(),然后使用参数override.aes=将线size=(宽度)设置为某个较大的值。fill=NA删除为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))

在此处输入图像描述

于 2013-10-18T18:56:02.283 回答