I tried to play to adjust the legend or guide parameters, but I can not find a solution. I hope you get a solution using ggplot2 settings.
Here are 2 solutions based on the gtable and grid packages.
to solve gtable , the code is inspired by this question .

library(gtable)
Similarly, using the grid package (we redraw the legend in the viewport)
pp <- grid.get('guide',grep=T) depth <- downViewport(pp$wrapvp$name) guide <- grid.get('guide',grep=T) grid.rect(gp=gpar(fill='white')) guide$heights <- unit.c(guide$heights[1:2],unit(-0.2,'lines'),guide$heights[4],unit(0.1,'lines')) grid.draw(guide) upViewport(depth)
source share