我经常发现自己需要使用matplotlib在Python中创建热图样式的可视化。 Matplotlib提供了几个显然做同样事情的功能。建议使用pcolormesh
而不是pcolor
,但imshow
和pcolormesh
之间的差异(从实际角度来看,作为数据绘图仪)是什么?使用其中一个的优点/缺点是什么?在什么情况下,一方或另一方是明显的赢家?
答案 0 :(得分:33)
从根本上说,imshow
假设数组中的所有数据元素都以相同的大小呈现,而pcolormesh
/ pcolor
将数据数组的元素与大小相同的矩形元素相关联可以在矩形网格上变化。
如果您的网格元素是统一的,那么插值设置为“最近”的imshow
看起来与默认的pcolormesh
显示非常相似(没有可选的X
和{{1} } args)。明显的区别是Y
y轴将被反转(wrt imshow
)并保持纵横比,尽管这些特征可以改为看起来像pcolormesh
输出
从实际角度来看,如果要将数据数组可视化为单元格,pcolormesh
会更方便,特别是当矩形网格不均匀或者想要绘制边界/边缘时细胞。否则,如果您具有固定的像元大小,想要保持宽高比,想要控制像素插值或想直接指定RGB值,pcolormesh
会更方便。