我经常发现自己需要使用 matplotlib 在 Python 中创建热图风格的可视化。 Matplotlib 提供了几个显然做同样事情的函数。建议使用 pcolormesh 而不是 pcolor,但是 imshowpcolormesh 之间有什么区别(从作为数据绘图仪的实际角度来看)?使用其中一种的优缺点是什么?在什么情况下,一个或另一个会成为明显的赢家?

最佳答案

从根本上说,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/

10-14 20:05