问题:matshow() 的动画质量比 imshow() 好。如何改进它?

我用 matshow 显示了一个数组,它工作正常,但现在我想尝试 imshow。问题是与matshow相比,imshow的质量真的很差。

我怎样才能解决这个问题 ?

马戏表演:

matshow(array)

图1

即时显示:

plt.imshow(array)

图2

解答

该问题是由于插值造成的。

Matplotlibmatshowimshow的包装器,因为它_“将原点设置为“上”,“插值”设置为“最近”,“方面”设置为相等。”_

因此,虽然 matshow 始终使用interpolation="nearest",但imshow默认使用interpolation=None。请注意,这与interpolation="none"不同。

  • interpolation=None使用matplotlib rc 文件中image.interpolation变量中的插值集(在不同的 matplotlib 版本中可能不同。)

  • interpolation="none"不使用插值,同"nearest"

克服这个问题最安全的方法是在两个调用中专门设置一个插值方法

plt.matshow(array, interpolation="none")
plt.imshow(array, interpolation="none")
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐