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,该怎么办$