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 file 中 image.interpolation
变量中设置的插值(在不同的 matplotlib 版本中可能不同。)
interpolation="none"
不使用插值,与"nearest"
相同
克服这个问题最安全的方法是在两个调用中专门设置一个插值方法
plt.matshow(array, interpolation="none")
plt.imshow(array, interpolation="none")
我用 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 file 中image.interpolation
变量中设置的插值(在不同的 matplotlib 版本中可能不同。)interpolation="none"
不使用插值,与"nearest"
相同
克服这个问题最安全的方法是在两个调用中专门设置一个插值方法
plt.matshow(array, interpolation="none")
plt.imshow(array, interpolation="none")