我有一个运行了很多天的数据集。每一天,我都有好几个小时。在这个玩具示例中,我正在寻找3天,在这三天中的每一天,我都在查看13个小时的数据(从早上6点到下午6点)。
我想在x轴上同时捕捉日期和小时。然而,我不想为13个小时中的每一个重复日期,而是想在这些小时内跨越日期,比如
tab_spanner
在里面
gt
.
例如,考虑以下示例代码:
library(ggplot2)
exp<-data.frame(
date = c(rep("2025-02-01", 13), rep("2025-02-02", 13),rep("2025-02-03", 13)),
hour = rep(seq(6, 18, 1),3),
obs = runif(13*3, min=1, max=50)
)
exp |>
mutate(
date.hour = factor(paste0(date, " ", hour, " hour"), levels=unique(paste0(date, " ", hour, " hour")), ordered=TRUE)
) |>
ggplot(aes(x=date.hour, y=obs, group=1)) +
geom_line() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
这将生成以下图表:
然而,我想知道的是,是否有可能将日期跨越几个小时,创建一个看起来像这样的图表: