By default, matplotlib figures have a lot of padding around them. This is quite annoying when producing plots for publication, as you end up with a load of useless whitespace that you have to compensate for by screwing around with the figure sizing and position (especially in LaTeX articles).
Fortunately, matplotlib has a neat convenience function that removes all of this unnecessary whitespace in one fell swoop. It’s as easy as this:
plt.tight_layout()
See the figures below for a comparison. This function also takes a ‘pad’ argument that lets you fine-tune the padding manually.
Oh, how I wish I’d known about this three years ago.