matplotlib.pcolor非常慢。备择方案?

发布于 2021-01-29 17:34:26

我想绘制一个2D数组(大约1000x1000),其值与色标相对应。因此,我使用了matplotlib.pcolor,它只是这样做了,但是由于某种原因,当达到这些尺寸时(例如绘制2分钟左右),它的速度非常慢。是什么原因呢?将float值转换为int16会有帮助吗?是否有pcolor的替代品?

from pylab import *

data=genfromtxt('data.txt',autostrip=True, case_sensitive=True)
pcolor(data,cmap='hot')
colorbar()
show()

data.txt包含数组。加载过程确实需要花费几秒钟,但是pcolor()和show()函数都肯定会占用主要的计算时间(每个大概60-90秒)。

关注者
0
被浏览
42
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    imshow 会更快。 pcolor会传回PolyCollection,使用100万个元素的速度将相当慢,而imshow只是一幅图像。

    请注意,pcolor中的索引编制与imshow稍有不同,尽管您可能不必担心,具体取决于您使用pcolor的方式。而且,通常当从pcolor转到imshow时,一个人希望设置interpolation="nearest"为imshow(但是对于如此大的图像,这也可能没有关系)。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看