python - 使用 imshow 进行轴定位 - python

标签 python matplotlib imshow

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

这是一个例子

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()

这就是结果

enter image description here

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

enter image description here

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

最佳答案

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

要将外观设置为自动,请使用

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

关于python - 使用 imshow 进行轴定位 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949548/

相关文章:

python - python 中两个键与一个键具有相同的值

python - 是否有将 matplotlib 的有状态 pyplot API 映射到面向对象的等效项的文档?

python - 如何删除 Matplotlib 图中的线条

python - 使用 imshow() 时图像未显示在 Google Colab 中

python - 如何完全去除散点图周围的空白

python - 在 ipython 中使用 matplotlib 显示图像

python - 如何创建新的 pandas 列 scipy.optimize 返回值

python - 为什么 NumPy 为 x[[slice(None), 1, 2]] 创建一个 View

python - 如何使用python获取所有没有特定标签的mysql实例?

matplotlib - Matplotlib错误: 'str' object has no attribute 'get_figure'