要在不拉伸图像的情况下更改 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()输出结果
它将产生以下输出 -