什么时候使用imshow over pcolormesh?

时间:2014-01-16 15:58:38

标签: python matplotlib

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

1 个答案:

答案 0 :(得分:33)

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

如果您的网格元素是统一的,那么插值设置为“最近”的imshow看起来与默认的pcolormesh显示非常相似(没有可选的X和{{1} } args)。明显的区别是Y y轴将被反转(wrt imshow)并保持纵横比,尽管这些特征可以改为看起来像pcolormesh输出

从实际角度来看,如果要将数据数组可视化为单元格,pcolormesh会更方便,特别是当矩形网格不均匀或者想要绘制边界/边缘时细胞。否则,如果您具有固定的像元大小,想要保持宽高比,想要控制像素插值或想直接指定RGB值,pcolormesh会更方便。