ggplot2 has the ability to change the margins between a faceted plot using the argument panel.margin in opts. This seems to change bo
A manual solution until this feature becomes available:
library(grid)
height <- 0.5 # Vertical spacing
aux <- 1e-5 # Auxiliary number to identify 'height' among other heights
width <- 0.1 # Desirable horizontal spacing
p <- p + theme(panel.margin = unit(height + aux, "lines"))
gtable <- ggplot_gtable(ggplot_build(p))
gtable$widths[sapply(gtable$widths, '[[', 1) == height + aux][[1]][[1]] <- width
grid.draw(gtable)
