How to get matplotlib figure size

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 ?


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

Maybe this animation might help: enter image description here

enter image description here


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.