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

标签 matplotlib

如何使用 imshow 在轴(视口(viewport))的所有宽度上显示图像,但保持比例“相等”?

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])

enter image description here

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

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

最佳答案

发现读数为 Axes class - set explicitly size (width/height) of axes in given units 和使用

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])

enter image description here

关于matplotlib - 以最大宽度保持等比例显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71649949/

相关文章:

python - 如何绘制一棵以 id 作为节点标签的树

python - 在 plt.plot 上将 pd.Grouper 转换为人类可读的格式

python - Polar Matplotlib 图中的箭头

python - 如何在 matplotlib 中使用(随机)*.otf 或 *.ttf 字体?

python - Matplotlib slider 颜色变化

python - 在 matplotlib/seaborn 中向箱线图添加图例

python - 如何获得在 iPython Notebook 示例中经常看到的现代风格的 matplotlib 图?

matplotlib - python matplotlib : way to transpose axes

python - 在列表列表中绘制点的快速方法

Python matplotlib - 如何创建用颜色代表频率的饼图?