Python 在matplotlib中保存子地块时保持纵横比

Python 在matplotlib中保存子地块时保持纵横比,python,python-2.7,matplotlib,Python,Python 2.7,Matplotlib,打印时保持纵横比非常容易。我试图在保持纵横比的同时保存子地块,但结果并没有达到我的预期。这是原始绘图以及如何生成的代码: 我将子地块保存为: extent = ax.get_window_extent().transformed(f.dpi_scale_trans.inverted()) f.savefig('ax_figure.png', bbox_inches=extent) 但是当我阅读保存的图并执行plt.imshow(img)时,我得到了以下信息: 如何将保存的图像保存为子批?

打印时保持纵横比非常容易。我试图在保持纵横比的同时保存子地块,但结果并没有达到我的预期。这是原始绘图以及如何生成的代码:

我将子地块保存为:

extent = ax.get_window_extent().transformed(f.dpi_scale_trans.inverted())
f.savefig('ax_figure.png', bbox_inches=extent) 
但是当我阅读保存的图并执行
plt.imshow(img)
时,我得到了以下信息:


如何将保存的图像保存为子批?

问题是,
imshow
可能会根据您的设置更改图像的纵横比。强制
imshow
使用图像的纵横比使用

plt.imshow(img, aspect='equal')
plt.imshow(img, aspect='equal')