【发布时间】:2017-06-14 02:01:54
【问题描述】:
我用 matshow 显示了一个数组,它工作正常,但现在我想试试 imshow。问题是imshow的质量真的比matshow差。
我该如何解决这个问题?
马术表演:
matshow(array)
Imshow:
plt.imshow(array)
【问题讨论】:
标签: python arrays matplotlib imshow
我用 matshow 显示了一个数组,它工作正常,但现在我想试试 imshow。问题是imshow的质量真的比matshow差。
我该如何解决这个问题?
马术表演:
matshow(array)
Imshow:
plt.imshow(array)
【问题讨论】:
标签: python arrays matplotlib imshow
问题是由interpolation 引起的。
Matplotlib matshow 是 imshow 的包装器,因为它“将原点设置为‘上’,‘插值’设置为‘最近’,‘方面’设置为相等。” p>
因此,虽然 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")
【讨论】:
"none"和"nearest"有区别吗?