我想在图表的每一天中午添加日轴标签。目前,它会在午夜添加标签,但如果这些标签在每天中间间隔,我会更喜欢它,同时保留表示午夜的网格线。我尝试使用hjust
,但结果看起来不太好。有没有办法做到这一点?
library(ggplot2)
library(scales)
dat <- data.frame(time_value=seq(as.POSIXct("2011-07-01"), length.out=24*30, by = "hours"),
usage_value=sample(1:10, 24*30, replace=TRUE),
group=1)
dat$week <- format(dat$time_value, '%W')
dat <- subset(dat, week == 27)
ggplot(dat, aes(x=time_value, y=usage_value, group=1)) +
scale_x_datetime(breaks='day', labels=date_format('%A')) +
geom_line()
答案 0 :(得分:2)
这是一种方式。
首先,创建正午时间数据。使用seq.Date
:
然后在你的情节中添加geom_vline
:
noon <- data.frame(
x=with(dat, seq(from=min(time_value), to=max(time_value), by="1 day"))+12*60*60
)
ggplot(dat, aes(x=time_value, y=usage_value, group=1)) +
geom_line() +
geom_vline(data=noon, aes(xintercept=x), col="blue")