以最大宽度保持等比例显示图像

display image with maximum width keeping an equal ratio

如何使用 imshow 在轴(视口)的所有宽度上显示图像但保持比例 'equal'?

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(nrows=2, figsize=(8,8))
img = ax[0].imshow(np.random.random((10,10)), aspect='equal')
line = ax[1].plot([12,34],[45,78])

我希望图像宽度在线图上对齐,保持相等的比例,即使这意味着周围有空白。事实上,我的应用程序在图像上编码了缩放功能,因此我会提供所有可能的显示宽度。

所以简而言之,我想要与 aspect='auto' 相同的宽度,但具有方形像素。 可能吗 ?谢谢

发现阅读 以及

的使用
set_adjustable('datalim')
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(nrows=2, figsize=(8,8))
img = ax[0].imshow(np.random.random((10,10)), aspect='equal')
ax[0].set_adjustable('datalim')
line = ax[1].plot([12,34],[45,78])