Reputation: 833
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 ?
Upvotes: 81
Views: 100228
Reputation: 8019
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.
Upvotes: 11
Reputation: 15423
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
Upvotes: 103