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

matplotlibpythondata visualization更新于 2025/12/14 19:24:17

要在不拉伸图像的情况下更改 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()

输出

它将产生以下输出 −


相关文章


有用资源