Jak*_*kob 8 python numpy matplotlib
我想绘制一个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()
Run Code Online (Sandbox Code Playgroud)
data.txt包含数组.加载过程确实需要几秒钟,但主要的计算时间肯定是由pcolor()和show()函数使用(大约每个60-90秒).
fre*_*hen 12
作为未来谷歌的一个注释,还有pcolormesh和pcolorfast.
pcolormesh各州的文件:
pcolormesh类似于pcolor(),但使用不同的机制并返回不同的对象; pcolor返回PolyCollection,但pcolormesh返回QuadMesh.它要快得多,因此几乎总是首选大型阵列.
imshow 应该更快,但就例如非直线轴而言则不那么灵活.
请参见本页面用于之间一个很好的比较pcolor,pcolormesh和imshow.
tom*_*m10 10
imshow会更快. pcolor返回一个PolyCollection,它有一百万个元素会相当慢,而imshow只是一个图像.
请注意,pcolor中的索引与imshow略有不同,但您可能不需要担心它取决于您使用pcolor的方式.此外,通常当从pcolor转到imshow时,人们想要interpolation="nearest"在imshow中设置(但对于如此大的图像,这可能也无关紧要).
| 归档时间: |
|
| 查看次数: |
5384 次 |
| 最近记录: |