何时使用 imshow 而不是 pcolormesh

问题描述 投票:0回答:1

我经常发现自己需要使用 matplotlib 在 Python 中创建热图样式的可视化。 Matplotlib 提供了几个显然做同样事情的函数。建议使用

pcolormesh
而不是
pcolor
,但是
imshow
pcolormesh
之间有什么区别(从数据绘图仪的实际角度来看)?与另一种相比,使用一种的优点/缺点是什么?在什么情况下,其中一方会成为明显的赢家?

python matplotlib imshow
1个回答
68
投票

从根本上来说,

imshow
假设数组中的所有数据元素都以相同的大小呈现,而
pcolormesh
/
pcolor
将数据数组的元素与矩形元素相关联,矩形元素的大小可能会在矩形网格上变化。

如果网格元素是均匀的,则插值设置为“最近”的

imshow
看起来与默认的
pcolormesh
显示非常相似(没有可选的
X
Y
参数)。明显的区别是
imshow
y 轴将反转(w.r.t.
pcolormesh
)并且纵横比保持不变,尽管这些特性也可以更改为看起来像
pcolormesh
输出。

从实际角度来看,如果您想将数据数组可视化为单元格,尤其是当矩形网格不均匀或您想绘制单元格的边界/边缘时,

pcolormesh
会更方便。否则,如果您有固定的像元大小、想要保持宽高比、想要控制像素插值或想要直接指定 RGB 值,
imshow
会更方便。

© www.soinside.com 2019 - 2024. All rights reserved.