【发布时间】:2021-02-17 01:02:33
【问题描述】:
我遇到了一个令我惊讶的是我以前从未遇到过并且我看不到任何答案的问题。我正在 ggplot 中绘制一些日期时间数据,并希望强制每日主要休息时间和季度每日次要休息时间(0、6、12、18)。当我设置 date_breaks = "1 day", date_minor_breaks = "6 hours" 时,日期休息时间是在午夜,但小休息时间取决于数据的开始时间,所以我有奇怪的偏移小休息时间。
我将为具有可变开始时间和结束时间(从 csvs 读取或根据特定条件从数据集过滤)的整个数据范围制作类似的图,因此我正在寻找一个通用的解决方案,它可以在没有固定开始时间。
为了更清楚,我在示例中将次要网格线设为蓝色,将主要网格线设为黑色
library(lubridate)
library(ggplot2)
testdat <- data.frame(DateTime = seq.POSIXt(from = ymd_hm("20210101 1200"), length.out = 130, by = "1 hour", tz = "UTC"),
y = rnorm(130))
ggplot(testdat, aes(x = DateTime, y = y))+geom_point()+
scale_x_datetime(date_breaks = "1 day", date_minor_breaks = "6 hours", timezone = "UTC",
date_labels = "%d %b %H:%M")+theme_bw()+
theme(panel.grid.major.x = element_line(colour = "black"),
panel.grid.minor.x = element_line(colour = "blue"))
【问题讨论】: