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

标签 r ggplot2 legend

我有一个图,我想对这些点使用不同的颜色,但绘制基于所有点的线性回归:

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

enter image description here

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

最佳答案

您需要做的就是将 show.legend = FALSE 添加到 stat_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()

plot with no lines in legend

关于r - 如何从 ggplot2 图例中删除线条美学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35213468/

相关文章:

r - 有没有办法在 ggplot 的 geom_image 中添加 alpha 值?

Python:使用手动分配的图例绘制 Pandas DataFrame

python - 在 Python pylab rose/polar plot 中更改图例标题的字体大小

r - ggplot2 - 组合 geom_point 和 geom_line 的图例

R knn 大型数据集

python - 使用 rpy2 设置点阵图选项时出现问题

r - 如何检查与函数名称关联的内容?

r - 修改 GGplot2 对象

r - 为什么在这种情况下 r 没有修改到位?

r - 使用 ggplot2 躲避哑铃图