p <- ggplot(mtcars, aes(mpg, wt))
p + geom_point()+facet_grid(cyl ~ vs)+theme_bw()
You change the table grobs.
## get the table grobs
g1 <- ggplot_gtable(ggplot_build(p))
library(gtable)
library(grid)
## here the main modification
## change one panel by a new rectangle.
pp <- gtable_add_grob(g1,rectGrob(gp=gpar(col=NA)),t=8,l=6,b=8,r=6)
grid.draw(pp)
You can do that, but not with facet_wrap
(as far as I know). Create your seperate sub-plots. For a detailed step by step approach, see my answer here.
Create a blank plot & with the package gridExtra
you can combine the plots:
library(gridExtra)
library(grid)
blank <- grid.rect(gp=gpar(col="white"))
grid.arrange(plot1, plot2, blank, plot3, ncol=2)
This approach will give you also a lot influence on the appearance of you final plot (IMHO).