matshow() 的动画质量比 imshow() 更好。如何改进?

Animation quality is better with matshow() than with imshow(). How to improve it?

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

我该如何解决这个问题?

垫展:

matshow(array)

即时显示:

plt.imshow(array)

问题是由于 interpolation

Matplotlib matshow is a wrapper for imshow,因为它 "sets origin to ‘upper’, ‘interpolation’ to ‘nearest’ and ‘aspect’ to equal."

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

  • interpolation=None 使用 matplotlib rc fileimage.interpolation 变量中设置的插值(在不同的 matplotlib 版本中可能不同。)
  • interpolation="none"不使用插值,与"nearest"
  • 相同

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

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