geom_rect on some panels of a facet_wrap

后端 未结 2 1301
执笔经年
执笔经年 2021-01-05 03:23

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

2条回答
  •  花落未央
    2021-01-05 03:42

    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(...).

提交回复
热议问题