如何在不拉伸图像的情况下更改 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()
输出
它将生成以下输出 −
广告