如何从 ggplot2 图例中删除线条美学?

3

我有一个情景,我想在散点图上使用不同的颜色来表示点,但是基于所有的点绘制线性回归:

library(ggplot2)

set.seed(1)

df <- data.frame(x=rnorm(100),
                 y=rnorm(100),
                 group=factor(rep(1:2,each=50)))

ggplot(df,aes(x=x,y=y,color=group)) + 
  stat_smooth(aes(group=1), method="lm", fill=NA) +
  geom_point() + theme_bw()

问题在于当我使用stat_smooth()添加回归线时,它会添加我不想要的图例中的线条。我不能覆盖颜色以从图例中删除这些线条,因为我需要点的颜色。如何从图例中删除线条但保留点?

enter image description here

1个回答

9
你只需要在 stat_smooth 中添加 show.legend = FALSE 即可:
ggplot(df, aes(x = x, y = y, color = group, group = 1)) + 
    geom_smooth(method = "lm", se = FALSE, show.legend = FALSE) +
    geom_point() + 
    theme_bw()

plot with no lines in legend


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接