【发布时间】:2014-07-21 16:02:49
【问题描述】:
谁能帮帮我。我有一个数据集,其中包含我用动物园插值的 NA 值。我添加了一个“颜色列”,希望可以创建一个线图(时间序列),其中插值以与线的其余部分不同的颜色绘制。也就是说,由插值点之前和之后的点定义的线段应该是红色的,而不是黑色的。
我在此处附上了我的表格示例(颜色为“红色”的地方定义了已插值的值)。到目前为止,我还在这里放了一张图表的图像和所需的输出:
https://drive.google.com/folderview?id=0B_eJi0urUAzFM0JBS1ZIbUdGck0&usp=drive_web
到目前为止,这是我的代码。代码的“行”部分是我希望将颜色定义为数据框中的列的地方:
par(mfrow=c(2,1), mar=c(4,4.5,2,2), mgp=c(2,0.6,0))
x.limit <- round(range(UN.GRACE.Int$DecimDate), 2)
plot(NULL, type="n", xlim=x.limit, ylim=c(-20, 25), xlab="Year", ylab="GRACE-TWS (cm)", axes=F)
box(lwd=1.5)
abline(h=0, col="gray50", lty=1)
axis(1, seq(2003, 2012, 1), cex.axis=0.8)
axis(2, seq(-20, 25, 5), las=1, cex.axis=0.8)
minor.tick(nx=4, ny=0, tick.ratio=0.5)
lines(UN.GRACE.Int[,2] ~ UN.GRACE.Int[,1], type="l", lwd=3, col=UN.GRACE.Int[,3])
tws.slope <- round(as.vector(coef(lm(UN.GRACE.Int[,2] ~ UN.GRACE.Int[,1]))[2]), 2)
tws.sdev <- round(as.vector(coef(summary(lm(UN.GRACE.Int[,2] ~ UN.GRACE.Int[,1])))[, "Std. Error"][2]), 2)
abline(lm(UN.GRACE.Int[,2] ~ UN.GRACE.Int[,1]), lwd=2.5, lty=2, col=2)
mtext(paste("Trend (cm/year): ", tws.slope, "±", tws.sdev, sep=""), cex=0.8, side=1, line=-1.1)
任何帮助将不胜感激 - 谢谢
【问题讨论】:
-
所以,你想得到单行输出,而不是两行,我理解正确吗?你能分享一张你在想什么的图片吗(即使是画图也可以)。
-
是的,这就是我需要的:) 这是一张图片:drive.google.com/file/d/0B_eJi0urUAzFV09tN0hLWHlnbnc/…
-
你如何决定要着色的线段的长度?这确实是一件棘手的事情,您可以在下面看到我的答案,但它们都为要点着色。编辑:在进一步考虑它时,最好的方法是在第一行顶部绘制另一行,如果这是你需要的,你需要将参数提供给
line()。 -
感谢您的回答 - 我意识到片段的长度可能很难绘制。这似乎是最明智的答案,所以谢谢!
-
长度总是到下一点的距离吗?如果是这样,我可能会在解决方案中进行编辑......我认为这是相对可行的。