This solution is not very pretty, but it can be implemented using cowplot :
plot1<-ggplot(df[df$Facet2==1,], aes(ValueX, ValueY)) + geom_point() + facet_grid(Year ~ Month)+ theme_bw() plot2<-ggplot(df[df$Facet2==2,], aes(ValueX, ValueY)) + geom_point() + facet_grid(Year ~ Month)+ theme_bw() plot_grid(plot1, plot2, labels = c("1", "2"), nrow = 2)

source share