How about combining mutate() and case_when() to create a new column?
Like quarter, half year, and so on.
timedata <-tibble(month=c(1:12),x=rnorm(12,1,5),y=rnorm(12,1,5))
timedata %>%
mutate(sep_month = case_when(4>=month ~ "1-4",
8>=month & month >4 ~ "5-8",
12>=month & month >8 ~ "8-12")) %>%
ggplot(aes(x=x,y=y))+
geom_point()+
facet_wrap(~sep_month,nrow = 1)
