У меня есть временная шкала данных с показаниями давления, полученными через равные промежутки времени.Шкала временной шкалы с цветом/заполнением на основе значения временного ряда (R ggplot)
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))
Как закодировать этот турник, который растянется вдоль оси целых х (время) и чей цвет заливки будет меняются в зависимости от поля diff
моего df для соответствующей метки времени?
I просто подумал, что могу использовать 'geom_rect()' для рисования прямоугольников бок о бок на одной горизонтальной линии и установить 'aes ([...] fill = diff)'? Есть ли лучший способ? – Ant
'geom_rect', конечно, как я это сделаю. –