R 未合并的绘图图例

R 未合并的绘图图例,r,ggplot2,legend,R,Ggplot2,Legend,我目前有一个ggplot,并试图格式化的图例,但我想分开的线,即红色虚线-坡度,蓝色虚线的意思。图例似乎显示了它们的拦截位置,我如何将它们分开 为了清晰起见,我加入了一张我的情节图 base3<- ggplot(data = Pace_Less2km, aes(x=event_id, y=avg_racep, group=1)) + geom_line(color='orange')+ geom_point(color='orange')+ #geom_hline(yintercept

我目前有一个ggplot,并试图格式化的图例,但我想分开的线,即红色虚线-坡度,蓝色虚线的意思。图例似乎显示了它们的拦截位置,我如何将它们分开

为了清晰起见,我加入了一张我的情节图

base3<- ggplot(data = Pace_Less2km, aes(x=event_id, y=avg_racep, 
group=1)) +
geom_line(color='orange')+
geom_point(color='orange')+
#geom_hline(yintercept = mean(Pace_Less2km$avg_racep), 
color="blue")+
geom_hline(aes(yintercept= mean(Pace_Less2km$avg_racep), linetype = 
"Mean"), colour= 'blue') +
geom_abline(aes(intercept = 1.09, slope = .0005, linetype="Slope"), 
color="red")+
scale_linetype_manual(name = "", values = c(2, 2) ,
                    guide = guide_legend())
base3

base3这是一个完全可复制的示例,显示了在ggplot2中绘制多条汇总线的一种方法,每条线都有单独的图例条目

其主要思想是创建包含摘要数据的第二个辅助data.frame,并将其与
geom\u abline()
scale\u color\u manual()
一起使用

可能会有帮助。
library(ggplot2)

# Create an auxiliary data.frame containing the summary statistics.
m0 = lm(Petal.Length ~ 1, data=iris)
m1 = lm(Petal.Length ~ Petal.Width, data=iris)

line_dat = data.frame(summary_line=c("Mean", "Slope"),
                      intercept=c(m0$coefficients[1], m1$coefficients[1]),
                      slope=c(0, m1$coefficients[2]), row.names=NULL)

line_dat
#   summary_line intercept   slope
# 1         Mean  3.758000 0.00000
# 2        Slope  1.083558 2.22994

p = ggplot(data=iris, aes(y=Petal.Length, x=Petal.Width)) +
    geom_point(size=3, color="grey30") +
    geom_abline(data=line_dat, 
                aes(slope=slope, intercept=intercept, color=summary_line),
                linetype="dashed", size=1) +
    scale_color_manual(values=c(Mean="blue", Slope="red"))