我经常发现自己需要使用 matplotlib 在 Python 中创建热图风格的可视化。 Matplotlib 提供了几个显然做同样事情的函数。建议使用 pcolormesh
而不是 pcolor
,但是 imshow
和 pcolormesh
之间有什么区别(从作为数据绘图仪的实际角度来看)?使用其中一种的优缺点是什么?在什么情况下,一个或另一个会成为明显的赢家?
最佳答案
从根本上说,imshow
假设数组中的所有数据元素都以相同的大小呈现,而 pcolormesh
/pcolor
将数据数组的元素与大小可能在矩形网格上不同的矩形元素相关联。
如果您的网格元素是统一的,那么插值设置为“最近”的 0x2518122231343141 看起来与默认的 imshow
显示非常相似(没有可选的 pcolormesh
和 0x251812243134343)。明显的区别是 X
y 轴将被反转(w.r.t. Y
)并保持纵横比,尽管这些特征也可以更改为看起来像 imshow
输出。
从实用的角度来看,pcolormesh
更方便,如果您想将数据数组可视化为单元格,尤其是当矩形网格不均匀或您想要绘制单元格的边界/边缘时。否则,如果您有固定的单元格大小、想要保持纵横比、想要控制像素插值或想要直接指定 RGB 值,则 pcolormesh
更方便。
关于python - 何时在 pcolormesh 上使用 imshow?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21166679/