将图例添加到ggplot2散点图中,其中包含其他行

时间:2016-04-18 13:51:43

标签: r ggplot2 legend scatter-plot

我想在ggplot2散点图中添加一个图例,以区分回归线和我添加的单独行。

例如,

library(ggplot2)
set.seed(123)
data1=rnorm(1000,1,2)
data2=rnorm(1000,1,4)
DF=data.frame(data1,data2)

ggplot(DF,aes(data1,data2))+geom_point(colour="dodgerblue",alpha=0.75)+geom_smooth(method=lm,se=F,aes(colour="Line of best fit"))+
  geom_abline(intercept = 0, slope = 1, linetype="dashed", colour="black", alpha=1,size=1)

此图中有两条线,一条红色回归线和一条带方程y=x的黑线。

我已设法在图例中添加回归线,但想添加黑线。作为旁注,我也希望能够从colour更改图例的名称。

1 个答案:

答案 0 :(得分:2)

可能有一个更简单的解决方案,但这是迄今为止我能想到的最好的解决方案。

ggplot(DF, aes(data1,data2)) + 
  geom_point(colour="dodgerblue",alpha=0.75) +
  geom_abline(aes(colour="abline", intercept=0, slope=1), linetype="dashed", alpha=1, size=1) +
  geom_smooth(aes(colour="lm_smooth"), method = "lm", se=FALSE) + 
  scale_colour_manual(name="lines", values=c("red", "blue")) + 
  guides(colour = guide_legend(override.aes = list(alpha = 0)))

enter image description here

还可以获得here