My axis labels often look not good (too close to tick labels) when I use Matplotlib.
How
This is a really subjective question, but I'll take a stab anyway:
The figsize
kwarg takes the width and height of the figure in inches.
A4 paper is 8.3" by 11.7". So let's say, for the sake of argument, you want 1" margins.
paperheight = 11.7
paperwidth = 8.3
margin = 1.0
fig = plt.figure(figsize=(paperwidth - 2*margin, paperheight - 2*margin))
# plotting stuff
fig.tight_layout()
fig.savefig(...)
The call to tight_layout()
will give the labels a bit more room and make sure that everything is expanded out to the figure edges as much as practicable.