将回归线图例添加到 geom_abline

Add regression line legend to geom_abline

我已经编码了:

ggplot() + 
  geom_point(mapping = aes(x = X, y = y)) + 
    geom_abline(intercept = -0.9930872, slope = 0.4866284, colour = "red") + 
    geom_abline(intercept = -1, slope = 0.5, colour = "blue")

但似乎无法为我的最小二乘和人口回归线找到工作图例。我尝试了各种堆栈溢出答案,但似乎没有什么能满足我的需求。

这看起来是最佳答案,但我做不到!

有什么建议吗?

set.seed(1234)
X <- rnorm(20,sd=2.5)
y <- -1+0.5*X+rnorm(20, sd=0.4)

library(ggplot2)
ggplot() + 
geom_point(mapping = aes(x = X, y = y)) + 
geom_abline(aes(intercept = -0.9930872, slope = 0.4866284, colour = "line1"), lwd=1) + 
geom_abline(aes(intercept = -1, slope = 0.5, colour = "line2"), lwd=1) +
scale_colour_manual(values=c("line1"="red","line2"="blue"))

稍微修改一下你的代码就可以正常工作:

ggplot() + 
geom_point(mapping = aes(x = X, y = y)) + 
   geom_abline(aes(colour = "line_1",  intercept = -0.9930872, slope = 0.4866284)) + 
   geom_abline(aes(colour = "line_2", intercept = -1, slope = 0.5)) +
   scale_colour_manual(name = "lines", values = c("red", "blue")) +
   theme(legend.position = "bottom")

添加了图例位置,以防您也想更改它。