R 使用带有自定义图例的ggplot2进行线打印

R 使用带有自定义图例的ggplot2进行线打印,r,ggplot2,line,legend,R,Ggplot2,Line,Legend,我有三个不同的数据集 > dput(logit_mean) structure(c(1.34189585608394, 0.847629766112133, 0.502984724184437, 0.293946235601552, 0.206499805664176, 0.226630939673008, 0.340325142928746, 0.533567920732087, 0.792344778383729, 1.10264122118437, 2.

我有三个不同的数据集

 > dput(logit_mean)
    structure(c(1.34189585608394, 0.847629766112133, 0.502984724184437, 
    0.293946235601552, 0.206499805664176, 0.226630939673008, 0.340325142928746, 
    0.533567920732087, 0.792344778383729, 1.10264122118437, 2.10410207183928, 
    2.39007043292364, 2.7472025599441, 3.13582023485062, 3.51624523959319, 
    3.84879935612177, 4.09380436638634, 4.21158205233687, 4.16245419592333, 
    3.9067425790957, 1.46025341360241, 2.14156603885982, 2.75516433443725, 
    3.29118077503553, 3.7397478353555, 4.09099799009798, 4.3350637139638, 
    4.46207748165381, 4.46217176786882, 4.32547904730968), .Dim = c(10L, 
    3L))

> dput(logit_LCL_mean)
structure(c(1.05351660368681, 0.628916609291152, 0.258130717327059, 
0.00463564423558981, -0.118711150605381, -0.119775198249695, 
-0.00943890367383587, 0.2120834094038, 0.516104794995947, 0.771900259001094, 
1.728942625138, 1.93004332451069, 2.1051342500183, 2.32579479415003, 
2.55055241931885, 2.774582433554, 2.95504501785115, 3.07188155790784, 
3.06353387892773, 2.81246169848574, 1.23766486839515, 1.92345141391083, 
2.49077865317756, 2.98569639891182, 3.39229201620524, 3.69476128054215, 
3.89382753174118, 4.02023529154679, 4.00128330320072, 3.69675304553835
), .Dim = c(10L, 3L))



> dput(logit_UCL_mean)
structure(c(1.65351862117267, 1.07141678565209, 0.727549044031012, 
0.528002186532385, 0.457316509237024, 0.495293082125037, 0.621734110908969, 
0.803998291666232, 1.04499958137129, 1.44068951524647, 2.49956079692368, 
2.76677000672866, 3.22892029161779, 3.73203241679821, 4.22148180147624, 
4.65402060247669, 4.99516431524168, 5.21764445415144, 5.35973642037135, 
5.50118639749062, 1.6808252495808, 2.3732336294389, 3.05627843729075, 
3.64261086868091, 4.15079922999075, 4.55990311955228, 4.83697444552739, 
4.94477232896115, 4.95551580166221, 5.06294719673336), .Dim = c(10L, 
3L))
我想用ggplot2创建以下绘图。我可以不使用ggplot2,使用以下代码

plot(logit_mean[,1]~time, type="n", ylab="",
     ylim=c(min(logit_mean,logit_LCL_mean,logit_UCL_mean),
            max(logit_mean,logit_LCL_mean,logit_UCL_mean))
     ,
     main="Logit functions", cex.main=1, font.main=1
)

col.set=c("green", "blue", "purple", "deeppink",
          "darkorchid","darkmagenta","black","khaki")
for ( g in 1:ncol(logit_mean)){
  lines(logit_mean[,g]~time, col=col.set[g])
  lines(logit_LCL_mean[,g]~time, col=col.set[g], lty=2)
  lines(logit_UCL_mean[,g]~time, col=col.set[g], lty=2)

}
legend("topleft", inset=0.05,legend=paste0("Clus_", 1:ncol(logit_mean)),
       col=col.set, lty=1, box.lty=0, cex=0.8)
我如何使用ggplot2实现它。感谢您的帮助。情节必须与这幅画相似

这是我在第一个数据集上尝试的。如何将其他两个包含在同一个绘图中

dat=data.frame(tm=c(1:10),logit_mean)
dat_long=melt(dat,id="tm")

col_set=c("green", "blue","green")
ggplot(data=dat_long,
       aes(x=tm, y=value, colour=variable)) +
  geom_line()+scale_color_manual(values=col_set)+theme_bw()

这里的关键是将数据以长格式放入单个数据帧,其中一列表示平均值,一列表示置信区间的上限和下限。然后,您需要添加一个列来标记簇以及一个用于时间的列:


df这里的关键是将数据以长格式放入单个数据帧,其中一列表示平均值,一列表示上下置信区间。然后,您需要添加一个列来标记簇以及一个用于时间的列:


df@duckmayer请检查,我已经编辑过了above@duckmayr请检查,我已在上面进行了编辑,这看起来是合适的,如果我想以数学方式将图例添加为$\pi_1$、$\pi_2$和$\pi_3$,这看起来是合适的,如果我想以数学方式将图例添加为$\pi_1$、$\pi_2$和$\pi_3,该怎么办$