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

Sam*_*son 2 r legend ggplot2

我有一个情节,我想为点使用不同的颜色,但绘制基于所有点的线性回归:

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

ali*_*ire 5

您需要做的就是添加show.legend = FALSEstat_smooth:

ggplot(df, aes(x = x, y = y, color = group, group = 1)) + 
    geom_smooth(method = "lm", se = FALSE, show.legend = FALSE) +
    geom_point() + 
    theme_bw()
Run Code Online (Sandbox Code Playgroud)

在图例中没有线条的情节