如何获取matplotlib图形大小

How to get matplotlib figure size

对于一个项目,我需要知道我的 matplotlib 图的当前大小(以像素为单位),但我找不到如何执行此操作。 有人知道怎么做吗?

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

为当前图做,

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

您可以通过以下方式获得相同的信息:

bbox = fig.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
width, height = bbox.width*fig.dpi, bbox.height*fig.dpi

也许这个动画可能会有所帮助:

以英寸为单位快速提取图形尺寸

要获得以英寸为单位的宽度和高度,我只使用:

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

我把它放在这里是因为这个问题是您搜索 'get matplotlib figure size' 时弹出的第一个结果,而 api 最自然地以英寸而不是像素为单位。