根据Taras Kaduk的精彩博客,我正在根据存储在 Apple 的 Apple 健康应用程序中的血压测量值在 R 中绘制图表。
我根据需要更改了代码,现在我想根据时间值更改绘图的背景颜色。我添加了一个包含两个值“夜”和“日”的昼夜列(“夜”= 18:00 到 06:00 之间,“白天”从 06:00 到 18:00)。有没有办法使用这个值来切换图表中的背景颜色,使所有的夜间都变暗?或者,我可以直接使用日期时间值(x 轴),即 POSIXct 值。
我确实只找到了可以解决问题的示例,但是使用一个(或几个)固定日期值,例如:Change color background in ggplot2 - R by specific Date on x axis。
这是我目前使用的数据集和代码:
Sample data (blood_pressure):
value type datetime daynight state
1 96 Diastolic 2022-01-10 07:52:48 day Hypertension 1
2 102 Diastolic 2022-01-10 07:09:58 day Hypertension 2
3 109 Diastolic 2022-01-09 19:58:56 night Hypertension 2
4 141 Systolic 2022-01-09 08:27:24 day Hypertension 1
5 146 Systolic 2022-01-10 19:09:19 night Hypertension 1
blood_pressure %>%
ggplot(blood_pressure, aes(datetime, value)) +
geom_point()
在这里您可以看到一个示例图: