Линейный график с цветовым градиентом между двумя фиксированными концами - PullRequest
0 голосов
/ 18 июня 2020

У меня есть график, который представляет уровень воды (y) с течением времени (x), содержащийся в резервуаре. Зная минимальный уровень и максимальный уровень танка, я хотел бы создать цветовой градиент линии уровня от синего (когда уровень близок к нулю) до красного, когда уровень близок к максимуму.

Например, предельные значения резервуара - y_min = 0.00m и y_max = 3m, и график в этом случае колеблется в пределах от 0 до 1,20 м, так что оттенки красного не должны появляться. Не могли бы вы мне помочь? Я прикрепляю некоторые данные из data.frame для создания графика. Большое спасибо.

enter image description here

TANK (data.frame)
       $datetime         $level  $variables $values $time
16  2014-06-28 17:56:00    0.00 Q_INGRESSO    0.41  0.25
17  2014-06-28 17:57:00    0.01 Q_INGRESSO    0.91  0.27
18  2014-06-28 17:58:00    0.01 Q_INGRESSO    1.77  0.28
19  2014-06-28 17:59:00    0.02 Q_INGRESSO    0.65  0.30
20  2014-06-28 18:00:00    0.03 Q_INGRESSO    2.42  0.32
21  2014-06-28 18:01:00    0.04 Q_INGRESSO    3.78  0.33
22  2014-06-28 18:02:00    0.06 Q_INGRESSO    5.63  0.35
23  2014-06-28 18:03:00    0.10 Q_INGRESSO    7.21  0.37
24  2014-06-28 18:04:00    0.15 Q_INGRESSO   23.17  0.38
25  2014-06-28 18:05:00    0.24 Q_INGRESSO  123.99  0.40
26  2014-06-28 18:06:00    0.41 Q_INGRESSO  376.17  0.42
27  2014-06-28 18:07:00    0.56 Q_INGRESSO  656.24  0.43
28  2014-06-28 18:08:00    0.64 Q_INGRESSO  891.72  0.45
29  2014-06-28 18:09:00    0.77 Q_INGRESSO 1469.96  0.47
30  2014-06-28 18:10:00    0.85 Q_INGRESSO 1955.89  0.48
31  2014-06-28 18:11:00    0.97 Q_INGRESSO 2333.80  0.50
32  2014-06-28 18:12:00    1.05 Q_INGRESSO 2558.26  0.52
33  2014-06-28 18:13:00    1.10 Q_INGRESSO 2793.53  0.53
34  2014-06-28 18:14:00    1.12 Q_INGRESSO 2935.18  0.55
35  2014-06-28 18:15:00    1.13 Q_INGRESSO 2967.78  0.57
36  2014-06-28 18:16:00    1.14 Q_INGRESSO 2978.83  0.58
37  2014-06-28 18:17:00    1.13 Q_INGRESSO 2964.84  0.60
38  2014-06-28 18:18:00    1.13 Q_INGRESSO 2945.94  0.62
39  2014-06-28 18:19:00    1.13 Q_INGRESSO 2910.81  0.63
40  2014-06-28 18:20:00    1.12 Q_INGRESSO 2859.38  0.65
41  2014-06-28 18:21:00    1.11 Q_INGRESSO 2798.38  0.67
42  2014-06-28 18:22:00    1.10 Q_INGRESSO 2718.95  0.68
43  2014-06-28 18:23:00    1.08 Q_INGRESSO 2621.13  0.70
44  2014-06-28 18:24:00    1.07 Q_INGRESSO 2531.05  0.72
45  2014-06-28 18:25:00    1.05 Q_INGRESSO 2428.74  0.73
46  2014-06-28 18:26:00    1.04 Q_INGRESSO 2321.52  0.75
47  2014-06-28 18:27:00    1.02 Q_INGRESSO 2212.85  0.77
48  2014-06-28 18:28:00    1.00 Q_INGRESSO 2104.01  0.78
49  2014-06-28 18:29:00    0.98 Q_INGRESSO 1999.15  0.80
50  2014-06-28 18:30:00    0.97 Q_INGRESSO 1895.27  0.82
51  2014-06-28 18:31:00    0.95 Q_INGRESSO 1804.06  0.83
52  2014-06-28 18:32:00    0.94 Q_INGRESSO 1713.20  0.85
53  2014-06-28 18:33:00    0.92 Q_INGRESSO 1636.14  0.87
54  2014-06-28 18:34:00    0.90 Q_INGRESSO 1560.66  0.88
55  2014-06-28 18:35:00    0.89 Q_INGRESSO 1492.37  0.90

1 Ответ

0 голосов
/ 18 июня 2020

Использование другого набора данных для демонстрации эффекта, который, я думаю, вам нужен:

d <- tibble(x=0:100, y=100*dweibull(0:100, 3, 40))
d %>% 
  ggplot(aes(x=x, y=y, colour=y)) + 
    geom_line() + 
    scale_colour_gradient(low="blue", high="red")

Давать enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...