我有一个时间序列数据框,定期获取压力读数。
time pressure diff
1 2014-09-09 09:12:29 1.6191598 0.00000000
2 2014-09-09 09:12:28 3.0137784 -0.07668387
3 2014-09-09 09:12:27 1.1958183 0.58693260
4 2014-09-09 09:12:26 2.2803681 1.07774954
5 2014-09-09 09:12:25 -0.7614310 -0.17864232
6 2014-09-09 09:12:24 0.9914106 -0.70121973
我可以使用 ggplot2 轻松绘制压力线图。但在这条线图下方,我想要一个水平条,其中填充颜色取决于两个连续样本之间的压差(df 字段diff
)。
例如,当压力差为零时(即压力在两个连续样本之间没有变化),该条将是白色的。当差异正增加时,填充颜色将趋向更深的(例如)红色阴影,而随着负值增加,填充颜色将趋于蓝色。
生成样本数据:
dfTimeSeries <- data.frame(time = Sys.time()-seq(1:10),
pressure = rnorm(10,1),
diff = c(0,diff(dfTimeSeries$pressure)))
剧情的第一部分
ggplot(data = dfTimeSeries)+
geom_line(aes(x=time, y=pressure))
我如何编码这个水平条,它将跨越整个 x(时间)轴,并且其填充颜色会根据 diff
我的 df 字段上的相应时间戳而变化?