2016-04-18 2 views
1

Я бы хотел добавить легенду к диаграмме рассеяния ggplot2, которая различает линию регрессии и отдельную строку, которую я добавил.Добавить легенду на график разгона 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.

+0

http://www.stackoverflow.com/questions/17148679/ggplot2-need-to-construct-a-manual-legend-for-complicated-plot – tonytonov

+0

Спасибо - мне удалось получить легенду о лучших line, но не 'geom_abline'. Какие-либо предложения? – sym246

+0

Не могли бы вы добавить это как редактирование исходного вопроса? – tonytonov

ответ

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.

+0

Спасибо - это работает очень хорошо. – sym246

+0

Добро пожаловать! – tonytonov