在x轴上的日期之间提供阴影

2sb*_*2sb 7 r ggplot2

我在R中有一个图,X轴上有日期/时间(POSIXct),Y轴有一些数据.
我希望在x轴上每个日期的下午3点到6点之间提供x轴上的阴影

Eri*_*ail 20

或多或少遵循Brian Diggs的建议,

#sample data
set.seed(666)
dat <- data.frame(x = seq(as.POSIXct('2011-03-27 00:00:00'), 
len= (n=24), by="1 hour"), y = cumsum(rnorm(n)))
#Breaks for background rectangles
rects <- data.frame(xstart = as.POSIXct('2011-03-27 15:00:00'), 
xend = as.POSIXct('2011-03-27 18:00:00'))

library(ggplot2)
ggplot() + 
  geom_rect(data = rects, aes(xmin = xstart, xmax = xend, 
            ymin = -Inf, ymax = Inf), alpha = 0.4) + 
  geom_line(data = dat, aes(x,y))
Run Code Online (Sandbox Code Playgroud)

会给你这个, 米


Bri*_*ggs 7

使用包含数据的每天3和6 pm的列创建data.frame.将其用于geom_rect图层(使用Inf-Inf用于y).将该图层放在数据图层之前(因此它在它们下面)并为填充提供alpha,以便可以通过它看到网格.

通过更详细,可重复的问题,可以得到更详细的答案.