我正在创建一个 R 脚本来生成一个由多条线组成的图表。我制作了一个基本图表,并设法平滑了每条绘制的线。但是,我想通过执行以下操作来美化图表:
目前,每条线都绘制为平滑线。我想使用其他线型绘制平滑线,例如点划线、点划线等。
我想在图表中添加一个图例,并在图例中显示一条线(与它在主图表中表示的线的颜色相同)。
指定主图表标题的字体大小,x 和 y
这是我到目前为止所拥有的:
dat <- read.csv(filename, sep=',')
xvals <- dat$xvals
y1 <- dat$y1
y2 <- dat$y2
y3 <- dat$y3
y4 <- dat$y4
y5 <- dat$y5
y6 <- dat$y6
lo1 <- loess(y1~xvals)
lo2 <- loess(y2~xvals)
lo3 <- loess(y3~xvals)
lo4 <- loess(y4~xvals)
lo5 <- loess(y5~xvals)
lo6 <- loess(y6~xvals)
plot(xvals,y1, xlab='X label', ylab='Y label', type='n')
xl <- seq(min(xvals),max(xvals), (max(xvals) - min(xvals))/1000)
lines(xl, predict(lo1,xl), col='gray', lwd=1)
lines(xl, predict(lo2,xl), col='pink', lwd=1)
lines(xl, predict(lo3,xl), col='red', lwd=1)
lines(xl, predict(lo4,xl), col='cyan', lwd=1)
lines(xl, predict(lo5,xl), col='black', lwd=1)
lines(xl, predict(lo6,xl), col='green', lwd=1)
legend("topright", "(x,y)", pch=1, lty=c(1,1), # gives the legend appropriate symbols (lines)
, lwd=c(1,1),col=c("blue","red"), inset = .02)
如何修改上面的代码以实现上面的要求 1 - 3?
顺便说一句,我知道ggplot。我想我会坚持使用 plot() - 我发现 ggplot 太神秘、令人费解和愤怒。