It looks like a trick
g <- ggplotGrob(d) g$heights[[3]] = unit(2,"in") g$grobs[[5]]$heights <- g$grobs[[6]]$heights <- g$grobs[[7]]$heights <- unit(1, "native")

It also works if you replace unit(1, "native") with a positive number or TRUE (I'm not sure why, though - maybe at some point this is forcibly applied to the default type module, probably "npc" )
source share