I am trying to fill the area between two lines that are plotted on two y-axes.
Below the code for my figure:
LightResp <-
ggplot(StomaResp_All,
aes(x = DecimalTime , y = GH2O)) +
geom_line(aes(color = "red"), linewidth=1.2) +
geom_line(aes(y = A*20, color = "black"), linewidth=1.2) +
scale_x_continuous(breaks = seq(0, 60, 10)) +
scale_color_manual(values = c("black","red", "red", "black")) +
scale_y_continuous(sec.axis = sec_axis(transform = ~./20, name="A")) +
theme_bw() +
theme( panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
theme(axis.title.y = element_text(color = "black"),
axis.title.y.right = element_text(color = "red")) +
theme(legend.position="none") +
theme(text = element_text(size = 12))
LightResp + # Add color between lines
geom_ribbon(aes(xmin = DecimalTime,
ymin = GH2O,
ymax = A),
fill = "#1b98e0", alpha = 0.4)
And my data for reproducing:
dput(StomaResp_All)
structure(list(DecimalTime = c(0.166666666666667, 0.333333333333333,
0.5, 0.666666666666667, 0.833333333333333, 1, 1.16666666666667,
1.33333333333333, 1.5, 1.66666666666667, 1.83333333333333, 2,
2.16666666666667, 2.33333333333333, 2.5, 2.66666666666667, 2.83333333333333,
3, 3.16666666666667, 3.33333333333333, 3.5, 3.66666666666667,
3.83333333333333, 4, 4.16666666666667, 4.33333333333333, 4.5,
4.66666666666667, 4.83333333333333, 5, 5.16666666666667, 5.33333333333333,
5.5, 5.66666666666667, 5.83333333333333, 6, 6.16666666666667,
6.33333333333334, 6.5, 6.66666666666667, 6.83333333333334, 7,
7.16666666666667, 7.33333333333334, 7.5, 7.66666666666667, 7.83333333333334,
8, 8.16666666666667, 8.33333333333334, 8.5, 8.66666666666667,
8.83333333333334, 9, 9.16666666666667, 9.33333333333333, 9.5,
9.66666666666667, 9.83333333333333, 10, 10.1666666666667, 10.3333333333333,
10.5, 10.6666666666667, 10.8333333333333, 11, 11.1666666666667,
11.3333333333333, 11.5, 11.6666666666667, 11.8333333333333, 12,
12.1666666666667, 12.3333333333333, 12.5, 12.6666666666667, 12.8333333333333,
13, 13.1666666666667, 13.3333333333333, 13.5, 13.6666666666667,
13.8333333333333, 14, 14.1666666666667, 14.3333333333333, 14.5,
14.6666666666666, 14.8333333333333, 15, 15.1666666666666, 15.3333333333333,
15.5, 15.6666666666666, 15.8333333333333, 16, 16.1666666666666,
16.3333333333333, 16.5, 16.6666666666666, 16.8333333333333, 17,
17.1666666666667, 17.3333333333333, 17.5, 17.6666666666667, 17.8333333333333,
18, 18.1666666666667, 18.3333333333333, 18.5, 18.6666666666667,
18.8333333333333, 19, 19.1666666666667, 19.3333333333333, 19.5,
19.6666666666667, 19.8333333333333, 20, 20.1666666666667, 20.3333333333333,
20.5, 20.6666666666667, 20.8333333333333, 21, 21.1666666666667,
21.3333333333333, 21.5, 21.6666666666667, 21.8333333333333, 22,
22.1666666666667, 22.3333333333334, 22.5, 22.6666666666667, 22.8333333333334,
23, 23.1666666666667, 23.3333333333334, 23.5, 23.6666666666667,
23.8333333333334, 24, 24.1666666666667, 24.3333333333334, 24.5,
24.6666666666667, 24.8333333333334, 25, 25.1666666666667, 25.3333333333334,
25.5, 25.6666666666667, 25.8333333333334, 26, 26.1666666666667,
26.3333333333334, 26.5, 26.6666666666667, 26.8333333333334, 27.0000000000001,
27.1666666666667, 27.3333333333334, 27.5000000000001, 27.6666666666667,
27.8333333333334, 28.0000000000001, 28.1666666666667, 28.3333333333334,
28.5000000000001, 28.6666666666667, 28.8333333333334, 29.0000000000001,
29.1666666666667, 29.3333333333334, 29.5000000000001, 29.6666666666667,
29.8333333333334, 30.0000000000001, 30.1666666666667, 30.3333333333334,
30.5000000000001, 30.6666666666667, 30.8333333333334, 31.0000000000001,
31.1666666666667, 31.3333333333334, 31.5000000000001, 31.6666666666668,
31.8333333333334, 32.0000000000001, 32.1666666666667, 32.3333333333334,
32.5000000000001, 32.6666666666667, 32.8333333333334, 33.0000000000001,
33.1666666666667, 33.3333333333334, 33.5000000000001, 33.6666666666667,
33.8333333333334, 34.0000000000001, 34.1666666666667, 34.3333333333334,
34.5, 34.6666666666667, 34.8333333333334, 35, 35.1666666666667,
35.3333333333334, 35.5, 35.6666666666667, 35.8333333333334, 36,
36.1666666666667, 36.3333333333334, 36.5, 36.6666666666667, 36.8333333333333,
37, 37.1666666666667, 37.3333333333333, 37.5, 37.6666666666667,
37.8333333333333, 38, 38.1666666666667, 38.3333333333333, 38.5,
38.6666666666667, 38.8333333333333, 39, 39.1666666666667, 39.3333333333333,
39.5, 39.6666666666666, 39.8333333333333, 40, 40.1666666666666,
40.3333333333333, 40.5, 40.6666666666666, 40.8333333333333, 41,
41.1666666666666, 41.3333333333333, 41.5, 41.6666666666666, 41.8333333333333,
41.9999999999999, 42.1666666666666, 42.3333333333333, 42.4999999999999,
42.6666666666666, 42.8333333333333, 42.9999999999999, 43.1666666666666,
43.3333333333333, 43.4999999999999, 43.6666666666666, 43.8333333333333,
43.9999999999999, 44.1666666666666, 44.3333333333332, 44.4999999999999,
44.6666666666666, 44.8333333333332, 44.9999999999999, 45.1666666666666,
47.5833333333332, 47.7499999999999, 47.9166666666666, 48.0833333333332,
48.2499999999999, 48.4166666666666, 48.5833333333332, 48.7499999999999,
48.9166666666665, 49.0833333333332, 49.2499999999999, 49.4166666666665,
49.5833333333332, 49.7499999999999, 49.9166666666665, 50.0833333333332,
50.2499999999999, 50.4166666666665, 50.5833333333332, 50.7499999999999,
50.9166666666665, 51.0833333333332, 51.2499999999998, 51.4166666666665,
51.5833333333332, 51.7499999999998, 51.9166666666665, 52.0833333333332,
52.2499999999998, 52.4166666666665, 52.5833333333332, 52.7499999999998,
52.9166666666665, 53.0833333333332, 53.2499999999998, 53.4166666666665,
53.5833333333331, 53.7499999999998, 53.9166666666665, 54.0833333333331,
54.2499999999998, 54.4166666666665, 54.5833333333331, 54.7499999999998,
54.9166666666665, 55.0833333333331, 55.2499999999998, 55.4166666666665,
55.5833333333331, 55.7499999999998, 55.9166666666664, 56.0833333333331,
56.2499999999998, 56.4166666666664, 56.5833333333331, 56.7499999999998,
56.9166666666664, 57.0833333333331, 57.2499999999998, 57.4166666666664,
57.5833333333331, 57.7499999999998, 57.9166666666664, 58.0833333333331,
58.2499999999997, 58.4166666666664, 58.5833333333331, 58.7499999999997,
58.9166666666664, 59.0833333333331, 59.2499999999997, 59.4166666666664,
59.5833333333331, 59.7499999999997, 59.9166666666664, 60.083333333333,
60.2499999999997, 60.4166666666664, 60.583333333333, 60.7499999999997,
60.9166666666664, 61.083333333333, 61.2499999999997, 61.4166666666664,
61.583333333333, 61.7499999999997, 61.9166666666664, 62.083333333333,
62.2499999999997, 62.4166666666664), PARtop = c(99.8, 1199.6,
1199.9, 1199.4, 1199.1, 1199.9, 1199.9, 1199.6, 1199.6, 1200.1,
1199.9, 1199.4, 1200.1, 1200.1, 1199.4, 1199.9, 1199.4, 1198.9,
1200.4, 1200.1, 1199.4, 1198.9, 1199.6, 1199.9, 1198.7, 1200.1,
1199.6, 1199.9, 1199.4, 1199.6, 1199.9, 1199.9, 1199.6, 1199.1,
1200.1, 1200.6, 1199.9, 1200.4, 1200.6, 1200.4, 1199.4, 1199.9,
1201.1, 1199.6, 1199.4, 1200.6, 1199.9, 1199.6, 1200.1, 1199.6,
1199.6, 1199.1, 1199.4, 1199.4, 1199.9, 1199.6, 1199.4, 1200.1,
1200.4, 1199.9, 1198.9, 1199.6, 1199.4, 1200.4, 1199.9, 1199.6,
1200.1, 1199.6, 1199.1, 1200.1, 1199.9, 1200.1, 1199.9, 1200.4,
1199.1, 1198.2, 1199.4, 1200.4, 1200.1, 1200.4, 1199.1, 1200.1,
1199.9, 1199.6, 1200.1, 1200.1, 1198.7, 1200.1, 1199.6, 1199.9,
1200.4, 1198.9, 1199.6, 1199.4, 1199.6, 1199.4, 1198.9, 1200.1,
1199.9, 1199.4, 1199.6, 1200.1, 1200.1, 1200.4, 1199.4, 1199.6,
1199.6, 1199.6, 1199.4, 1199.6, 1200.9, 1199.1, 1199.6, 1199.4,
1199.4, 1199.9, 1199.6, 1199.6, 1200.1, 1199.9, 1199.9, 1200.1,
1199.4, 1199.4, 1199.6, 1199.9, 1200.1, 1199.9, 1200.1, 1199.6,
1199.1, 1199.6, 1199.9, 1199.9, 1200.6, 1199.6, 1200.1, 1199.9,
1199.4, 1200.4, 1199.4, 1199.6, 1200.6, 1199.1, 1199.4, 1199.4,
1199.9, 1199.6, 1199.1, 1200.4, 1200.1, 1199.9, 1199.4, 1199.4,
1199.6, 1199.9, 1199.6, 1198.9, 1199.6, 1199.6, 1199.6, 1199.6,
1199.1, 1198.9, 1199.9, 1200.1, 1199.4, 1199.4, 1200.1, 1200.1,
1199.6, 1200.6, 1199.4, 1199.9, 1199.6, 1200.1, 1199.4, 1199.4,
1200.4, 1199.4, 1199.1, 99.6, 98.8, 99.6, 99.3, 99.8, 99.6, 99.6,
99.6, 99.6, 99.6, 99.3, 99.6, 99.6, 99.8, 99.6, 99.8, 99.3, 99.6,
99.8, 99.3, 99.3, 99.8, 99.3, 99.6, 99.3, 99.6, 99.8, 99.8, 99.3,
99.3, 99.6, 99.6, 99.3, 99.8, 99.8, 99.3, 99.8, 99.1, 99.3, 99.3,
99.3, 99.3, 99.8, 100.1, 99.6, 99.8, 99.1, 99.6, 99.8, 99.3,
99.3, 99.6, 99.6, 99.6, 99.1, 99.8, 99.6, 99.8, 99.6, 99.6, 99.6,
99.6, 99.8, 99.6, 99.8, 99.3, 99.6, 99.8, 99.6, 99.8, 99.8, 99.3,
99.6, 99.8, 99.6, 99.6, 98.8, 100.1, 99.8, 99.6, 99.8, 99.6,
99.3, 99.6, 99.8, 99.6, 99.8, 99.8, 99.8, 99.6, 99.6, 99.6, 99.8,
99.3, 99.1, 99.3, 99.6, 99.6, 99.3, 99.8, 99.6, 99.6, 99.6, 99.8,
99.6, 99.6, 100.1, 99.8, 99.6, 99.8, 100.1, 99.6, 99.3, 99.3,
99.3, 99.6, 99.8, 100.1, 99.6, 99.6, 100.1, 99.6, 99.6, 99.8,
99.6, 99.6, 99.8, 99.1, 99.6, 99.8, 99.6, 99.3, 99.3, 99.6, 99.1,
100.1, 99.3, 99.8, 99.6, 99.3, 99.6, 100.1, 99.8, 99.3, 99.8,
99.6, 99.8, 99.3, 99.8, 99.3, 99.3, 99.6, 99.3, 99.6, 99.6, 100.1,
99.6, 99.3, 99.6, 99.6, 99.8, 99.3, 99.8, 98.8, 99.6, 99.8, 99.3,
99.6, 99.3, 99.3, 99.8, 99.8, 99.3, 99.8, 99.6, 99.6, 99.8, 99.8,
99.3, 99.8), GH2O = c(155.4557, 154.1985, 167.1308, 179.7415,
184.5992, 187.1701, 187.4566, 189.7272, 193.2904, 196.9068, 200.0881,
205.2093, 209.9026, 213.802, 218.5821, 223.985, 226.905, 232.3918,
236.1033, 241.2122, 245.3413, 248.4583, 251.8143, 255.2433, 258.3535,
261.7624, 264.3453, 266.5293, 268.7369, 271.3575, 274.6108, 282.8214,
285.7195, 284.7599, 285.4288, 286.7866, 289.3819, 291.7045, 293.0817,
295.6059, 299.2528, 299.3929, 302.9325, 308.9568, 311.0944, 312.5898,
316.7854, 320.1244, 324.1845, 326.9532, 330.5638, 333.5179, 337.9242,
341.2061, 344.6499, 346.9279, 350.5742, 352.161, 356.0437, 358.7943,
364.6098, 377.2198, 376.9515, 378.367, 379.7818, 383.4301, 384.2591,
386.6531, 390.6699, 393.7047, 396.2304, 399.2754, 399.339, 402.742,
403.793, 407.6769, 408.4344, 409.1972, 413.266, 415.6037, 417.3308,
419.144, 421.8786, 424.1912, 424.52, 426.3592, 427.7899, 432.2513,
433.5808, 434.6895, 436.0066, 449.7766, 451.9205, 446.3909, 447.7693,
446.2171, 448.463, 450.0916, 453.1019, 454.5352, 455.3306, 456.304,
459.0876, 460.2673, 460.7846, 462.7367, 462.1342, 463.4744, 464.9172,
466.8523, 467.2107, 470.4078, 470.0536, 472.6042, 473.1691, 473.4491,
474.9432, 476.994, 477.371, 477.6021, 480.5339, 491.5995, 492.2323,
487.2924, 484.6723, 486.1493, 486.7257, 486.4039, 487.0417, 489.3096,
490.6385, 487.9527, 492.3079, 491.6788, 493.3657, 494.5652, 495.8384,
495.3814, 497.5643, 496.1835, 498.6972, 497.4356, 498.7048, 499.6064,
501.693, 500.7871, 500.9956, 501.0756, 502.8326, 503.8575, 503.9882,
515.9001, 516.665, 511.3991, 509.4772, 508.6715, 508.4706, 509.5041,
509.8457, 511.2819, 511.2117, 511.8672, 512.9595, 513.8137, 513.5378,
513.9988, 515.8032, 515.6668, 517.4252, 516.7106, 517.0505, 518.6382,
516.0742, 518.1442, 519.2277, 519.67, 520.1321, 520.2734, 520.3635,
521.03, 523.0219, 586.7686, 549.1064, 509.5198, 496.7277, 491.423,
489.4512, 486.4323, 486.1198, 484.2297, 483.0457, 483.2663, 480.1949,
480.6095, 479.5587, 477.0391, 475.5412, 477.2241, 474.4446, 472.1784,
471.1842, 470.5974, 470.8894, 470.7976, 469.475, 469.1448, 466.8127,
465.6045, 465.2132, 463.9778, 463.4194, 476.7457, 473.6159, 464.8046,
460.3368, 458.832, 457.6428, 456.0789, 455.6441, 456.6391, 453.4701,
453.5824, 452.1954, 452.3449, 451.519, 450.299, 449.3299, 449.0238,
448.4091, 446.8507, 447.4907, 446.1828, 445.0798, 444.3142, 442.665,
442.7199, 442.8872, 441.4775, 439.1082, 439.6992, 439.1062, 451.1886,
450.9459, 440.7626, 436.8345, 436.09, 434.9273, 434.1284, 431.6808,
430.7693, 428.302, 427.437, 425.6097, 424.3848, 421.8263, 422.8065,
421.6411, 421.3144, 419.6814, 419.3833, 415.7125, 415.618, 414.1474,
413.3037, 411.3631, 409.1209, 405.9153, 404.4929, 401.2146, 401.6673,
399.7686, 361.1036, 359.6187, 356.5556, 352.7957, 350.7601, 348.9851,
345.3103, 344.3071, 341.2361, 336.8512, 333.5943, 330.5734, 330.2096,
326.9144, 323.9347, 319.7399, 316.2354, 313.0711, 311.706, 307.7701,
305.8246, 301.0612, 299.0147, 295.5116, 292.4517, 288.3924, 286.9048,
281.7384, 277.3469, 272.9648, 279.7559, 274.3651, 266.4478, 261.4252,
256.6179, 255.9292, 252.652, 248.7402, 244.748, 241.0642, 240.1105,
237.0996, 233.5681, 230.0933, 224.9519, 224.0756, 221.4105, 219.1282,
215.2852, 211.4158, 210.5371, 206.2482, 203.8871, 202.4604, 197.9066,
194.8123, 193.8074, 192.1108, 188.2103, 185.1669, 188.9271, 186.1908,
177.2932, 176.531, 174.1768, 171.9586, 169.0119, 165.4528, 164.5506,
162.4532, 160.7997, 157.7896, 158.0104, 154.1482, 152.2853, 150.7655,
149.8794, 148.0189, 145.1248, 145.0811, 142.8916, 142.0355, 138.9976,
136.8106, 138.9918, 134.3135, 134.7078, 133.9224, 131.6586, 128.8054
), A = c(4.96871, 5.373536, 8.795164, 11.22477, 13.28815, 14.76078,
15.96226, 16.726, 17.26124, 17.65951, 18.09361, 18.49155, 18.71386,
19.29275, 19.70452, 20.04251, 20.47546, 20.77493, 21.25965, 21.48242,
21.77464, 22.07894, 22.39198, 22.60926, 22.85953, 23.09704, 23.30906,
23.56771, 23.61446, 23.81203, 24.00557, 24.62633, 24.57148, 24.61523,
24.7168, 24.77487, 24.94369, 24.98398, 25.1222, 25.25945, 25.26856,
25.46493, 25.51151, 25.64729, 25.70355, 25.9059, 25.94108, 26.20361,
26.17121, 26.27823, 26.37316, 26.59449, 26.58587, 26.77937, 26.73888,
26.9948, 26.98202, 27.08495, 27.14654, 27.22038, 27.47136, 28.02103,
27.84254, 27.61355, 27.78753, 27.73676, 27.74739, 27.80653, 27.88782,
27.957, 27.9578, 28.08159, 28.11184, 28.16131, 28.19248, 28.33634,
28.25024, 28.34622, 28.37235, 28.45189, 28.50884, 28.43464, 28.56727,
28.65339, 28.66925, 28.78136, 28.72045, 28.85236, 28.81779, 28.86012,
28.90491, 29.42702, 29.20634, 29.08945, 29.05384, 29.12703, 29.06978,
29.06709, 29.13679, 29.11031, 29.24505, 29.07002, 29.12697, 29.19202,
29.13796, 29.31247, 29.28635, 29.25352, 29.29868, 29.23432, 29.49332,
29.28386, 29.36917, 29.30765, 29.25721, 29.19407, 29.4354, 29.42386,
29.49312, 29.43462, 29.45391, 30.02123, 29.79754, 29.63559, 29.53391,
29.50968, 29.4772, 29.62078, 29.54571, 29.52928, 29.64064, 29.68279,
29.51395, 29.55396, 29.51459, 29.4832, 29.52865, 29.59701, 29.66438,
29.58642, 29.58091, 29.61065, 29.5675, 29.57551, 29.60546, 29.71991,
29.58926, 29.59793, 29.74975, 29.67756, 29.79451, 30.3243, 30.02291,
29.85292, 29.72958, 29.80866, 29.64093, 29.79814, 29.68945, 29.68823,
29.74866, 29.66723, 29.80148, 29.82466, 29.89149, 29.79967, 29.78152,
29.79376, 29.93748, 29.86594, 29.92941, 29.87836, 29.85143, 29.76193,
29.99299, 29.82052, 30.02051, 29.78358, 29.86426, 29.84129, 29.81648,
29.1832, 11.46758, 4.361366, 3.84667, 3.976207, 4.283153, 4.290187,
4.316386, 4.392286, 4.34023, 4.172068, 4.402674, 4.25508, 4.303038,
4.303382, 4.197556, 4.34526, 4.339895, 4.373969, 4.461369, 4.441522,
4.557505, 4.482389, 4.548162, 4.707235, 4.614833, 4.675468, 4.626896,
4.617483, 4.732097, 5.828594, 5.496085, 5.167279, 5.192545, 4.963974,
4.918974, 4.873392, 4.948886, 4.771852, 4.812586, 4.822723, 4.933066,
4.766042, 4.836552, 4.901256, 4.906071, 4.833572, 4.883109, 4.811098,
4.859121, 4.827066, 4.852218, 4.871665, 4.75716, 4.88045, 4.89199,
4.782881, 4.861424, 4.901424, 4.798327, 5.497709, 5.362539, 5.210771,
5.162677, 5.117543, 4.892127, 4.906297, 4.92095, 4.885376, 4.882113,
4.825978, 4.89381, 4.935654, 4.881869, 4.884026, 4.921878, 4.91549,
4.97868, 4.842541, 4.972502, 4.797811, 4.893323, 4.864646, 4.831226,
4.923189, 4.861996, 4.904183, 5.010767, 4.99796, 4.970075, 4.811066,
4.683304, 4.705164, 4.804466, 4.652453, 4.748329, 4.809325, 4.683219,
4.809554, 4.76919, 4.733057, 4.77967, 4.782892, 4.766015, 4.737002,
4.65353, 4.810812, 4.669748, 4.658621, 4.661164, 4.704128, 4.680161,
4.654417, 4.728156, 4.754287, 4.648837, 4.699375, 4.693872, 4.677098,
4.702622, 5.335977, 5.125286, 5.011493, 4.955933, 4.838843, 4.676527,
4.649902, 4.673656, 4.641908, 4.539883, 4.539106, 4.576101, 4.553892,
4.625474, 4.588107, 4.575457, 4.540421, 4.581182, 4.628523, 4.595466,
4.607481, 4.593632, 4.553881, 4.61048, 4.629762, 4.683239, 4.632078,
4.593306, 4.641265, 4.562714, 5.099092, 4.96678, 4.841442, 4.770734,
4.707113, 4.580851, 4.620513, 4.550303, 4.479202, 4.593538, 4.507961,
4.462554, 4.446523, 4.590723, 4.57889, 4.444764, 4.692321, 4.490373,
4.531779, 4.667765, 4.485669, 4.56626, 4.573889, 4.479279, 4.432847,
4.631812, 4.495522, 4.575156, 4.579997, 4.522611)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -361L))
I am able to create the figure below but obviously the blue shading does not respect the secondary y-axis. How can I fix this? And how can I have two different colors for each of the area in between the lines?
Thank you for your help, it is very much appreciated!
Is this what you are trying to do, fill the area between the lines regardless of which line has the larger value?
library(tidyverse)
#write.csv(StomaResp_All, file = "~/R/Play/Dummy.csv", row.names = FALSE)
#Wrote the data to a file to keep the code short.
StomaResp_All <- read.csv("~/R/Play/Dummy.csv")
StomaResp_All <- StomaResp_All |> mutate(ymin = ifelse(GH2O < A*20, GH2O, A*20),
ymax = ifelse(GH2O < A*20, A*20, GH2O))
LightResp <-
ggplot(StomaResp_All,
aes(x = DecimalTime , y = GH2O)) +
geom_line(aes(color = "red"), linewidth=1.2) +
geom_line(aes(y = A*20, color = "black"), linewidth=1.2) +
scale_x_continuous(breaks = seq(0, 60, 10)) +
scale_color_manual(values = c("black","red", "red", "black")) +
scale_y_continuous(sec.axis = sec_axis(transform = ~./20, name="A")) +
theme_bw() +
theme( panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
theme(axis.title.y = element_text(color = "black"),
axis.title.y.right = element_text(color = "red")) +
theme(legend.position="none") +
theme(text = element_text(size = 12))
LightResp + # Add color between lines
geom_ribbon(aes(xmin = DecimalTime,
ymin = ymin,
ymax = ymax),
fill = "#1b98e0", alpha = 0.4,data = StomaResp_All)
Created on 2024-11-29 with reprex v2.1.1
Edited code in response to the OP's comment
Note that I included a hack in the computation of the Bigger
column to force it to be "A" at x values below 1. This is because the first two values of GH2O and A would result in a Bigger
value of GH2O and therefore an unsightly spike of red across half the plot. I'm NOT suggesting you do that in your final plot, but I don't know how you would need to handle that.
library(tidyverse)
#write.csv(StomaResp_All, file = "~/R/Play/Dummy.csv", row.names = FALSE)
#Wrote the data to a file to keep the code short.
StomaResp_All <- read.csv("~/R/Play/Dummy.csv")
StomaResp_All <- StomaResp_All |>
mutate(ymin = ifelse(GH2O < A*20, GH2O, A*20),
ymax = ifelse(GH2O < A*20, A*20, GH2O),
Bigger = ifelse((GH2O < A*20) | DecimalTime < 1, "A", "GH2O"))
LightResp <-
ggplot(StomaResp_All,
aes(x = DecimalTime , y = GH2O)) +
geom_line(aes(color = "red"), linewidth=1.2) +
geom_line(aes(y = A*20, color = "black"), linewidth=1.2) +
scale_x_continuous(breaks = seq(0, 60, 10)) +
scale_color_manual(values = c("black","red", "red", "black")) +
scale_y_continuous(sec.axis = sec_axis(transform = ~./20, name="A")) +
theme_bw() +
theme( panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
theme(axis.title.y = element_text(color = "black"),
axis.title.y.right = element_text(color = "red")) +
theme(legend.position="none") +
theme(text = element_text(size = 12))
LightResp + # Add color between lines
geom_ribbon(aes(xmin = DecimalTime,
ymin = ymin,
ymax = ymax,
fill = Bigger),
alpha = 0.4,data = StomaResp_All) +
scale_fill_manual(values = c("#1b98e0", "red"))
Created on 2024-11-30 with reprex v2.1.1