I produced a grid with cowplot:
library(ggplot2)
library(cowplot)
ggg1 <- ggplot(mtcars, aes(mpg,vs)) + geom_point() +
theme(axis.title.x=element_blank
This seems to work...
plot_grid(plot_grid(ggg1, ggg2, labels=c("", ""), ncol = 1),
ggg3,
labels=c("", ""),
ncol =2,
scale=0.9) + #perhaps reduce this for a bit more space
draw_label("xlab", x=0.5, y= 0, vjust=-0.5, angle= 0) +
draw_label("ylab", x= 0, y=0.5, vjust= 1.5, angle=90)
Here's an alternative strategy
library(grid)
library(gridExtra)
library(egg)
grid.arrange(gtable_cbind(gtable_frame(ggarrange(ggg1, ggg2, draw=F)),
gtable_frame(ggplotGrob(ggg3))),
left = textGrob("Left",rot=90),
bottom = textGrob("Bottom"))