gpt4 book ai didi

python - 加速 Matplotlib?

转载 作者:太空狗 更新时间:2023-10-29 17:34:24 27 4
gpt4 key购买 nike

我读过 here matplotlib 擅长处理大型数据集。我正在编写一个数据处理应用程序并将 matplotlib 图嵌入到 wx 中,并且发现 matplotlib 在处理大量数据方面非常糟糕,无论是在速度还是在内存方面。除了对输入进行下采样之外,有谁知道加速(减少内存占用)matplotlib 的方法吗?

为了说明 matplotlib 的内存有多糟糕,请考虑以下代码:

import pylab
import numpy
a = numpy.arange(int(1e7)) # only 10,000,000 32-bit integers (~40 Mb in memory)
# watch your system memory now...
pylab.plot(a) # this uses over 230 ADDITIONAL Mb of memory

最佳答案

下采样是一个很好的解决方案——绘制 1000 万个点会在 matplotlib 中消耗大量内存和时间。如果您知道可以接受多少内存,那么您可以根据该数量进行下采样。例如,假设 1M 点需要 23 MB 的额外内存,并且您发现它在空间和时间方面是可以接受的,因此您应该降低采样率以使其始终低于 1M 点:

if(len(a) > 1M):
a = scipy.signal.decimate(a, int(len(a)/1M)+1)
pylab.plot(a)

或者类似于上面的代码片段(上面的代码可能会根据您的口味过于激进地缩减采样。)

关于python - 加速 Matplotlib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com