如何在不拉伸图像的情况下更改 matplotlib 中 imshow 的缩放?


要在不拉伸图像的情况下更改 matplotlib 中 imshow 的缩放,我们可以采取以下步骤。

步骤

  • 设置图形大小并调整子图之间和周围的间距。

  • 创建维度为 4×4 的随机数据点。

  • 将数据显示为图像,即,显示在 2D 规则栅格上。

  • 使用 imshow 的 extent 参数将图像缓冲区像素坐标映射到数据空间坐标系。

  • 接下来,通过提供“aspect=4”等值或使用“aspect='auto'”自动缩放来手动设置图像的纵横比。这将防止图像拉伸。默认情况下, imshow 将绘图的纵横比设置为 1。

  • 要显示图形,请使用 Show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

data = np.random.rand(4, 4)

plt.imshow(data, origin='lower', extent=[-4, 4, -1, 1], aspect=4)

plt.show()

输出

它将生成以下输出 −

更新于: 2021 年 10 月 8 日

16K+ 观看

开启你的 职业

完成课程认证

开始
广告