I am trying to get a shaded rectangle on the first three panels in my facet_wrap
plot. However, when I use geom_rect
for the job, it produces the r
There's a very simple way to do this:
library(ggplot2)
library(plyr) # for .(...)
ggplot(dfTemp) +
geom_rect(subset= .(variable<4),aes(xmin = as.Date('2011-02-01', format = '%Y-%m-%d'),
xmax = as.Date('2011-03-01', format = '%Y-%m-%d'),
ymin = -Inf,
ymax = Inf), alpha = 0.2, fill = 'grey') +
geom_line(aes(x = date, y = value, group = variable, color = factor(variable))) +
facet_wrap(~variable , scale = 'free', ncol = 1)
The only difference with your original code is the addition of subset=.(variable<4)
to the call to geom_rect(...)
.