Matplotlib figure facecolor (background color)

It’s because savefig overrides the facecolor for the background of the figure.

(This is deliberate, actually… The assumption is that you’d probably want to control the background color of the saved figure with the facecolor kwarg to savefig. It’s a confusing and inconsistent default, though!)

The easiest workaround is just to do fig.savefig('whatever.png', facecolor=fig.get_facecolor(), edgecolor="none") (I’m specifying the edgecolor here because the default edgecolor for the actual figure is white, which will give you a white border around the saved figure)

Hope that helps!

Leave a Comment