使用 imshow 进行轴定位 - python

axis positioning with imshow - python

我一直在尝试在同一个图形上添加两个轴,位置非常具体。问题是当我添加绘图时,它们的大小似乎与我指定的不同。

这是一个例子

fig = plt.figure()
ax = fig.add_axes([0.0, 0.3, 0.7, 0.7])

M = np.random.random([10, 20])
ax.imshow(M)

plt.show()

这是结果

但是,当我改用 ax.plot() 时,它似乎将轴放置在正确的位置。

我的感觉是它与 imshow() 中的纵横比有关,但到目前为止对我没有任何作用。有什么建议么?提前致谢

你是对的;默认情况下设置为 "equal" 的 imshow 方面会阻止轴自动缩放到指定的位置。不过通常这是需要的,因为您需要在 imshow 图中使用方形像素。

要将纵横比设置为自动,请使用

ax.imshow(M, aspect="auto")