How to get matplotlib figure size

Question:

For a project, I need to know the current size (in pixels) of my matplotlib figure, but I can’t find how to do this.
Does anyone know how to do this ?

Asked By: Tristan

||

Answers:

import matplotlib.plt
fig = plt.figure()
size = fig.get_size_inches()*fig.dpi # size in pixels

To do it for the current figure,

fig = plt.gcf()
size = fig.get_size_inches()*fig.dpi # size in pixels

You can get the same info by doing:

bbox = fig.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
width, height = bbox.width*fig.dpi, bbox.height*fig.dpi
Answered By: Julien Spronck

Maybe this animation might help:
enter image description here

enter image description here

Answered By: Kolibril

Quickly extract figure size in inches

To get width and height in inches I just use:

fig_width, fig_height = plt.gcf().get_size_inches()
print(fig_width, fig_height)

I put this here because this question is the first result that pops up when you search ‘get matplotlib figure size’, and the api most naturally works in inches, not pixels.

Answered By: eric