2

我创建了一个程序,每半秒左右从串行端口上的设备检索数据。然后,它将该数据附加到设置数据点的数组中,然后更新绘图。一切都很好,直到它运行了一个小时左右,此时程序停止响应。

有谁知道这个数组是否有大小限制?如果有人对处理可能是数百万点的数据集有任何想法,我很想听听你的想法。

4

2 回答 2

4

使用下面的代码,我能够让 matplotlib 显示一千万个点的简单图表。我怀疑问题不在于数组大小。

import numpy as np
import matplotlib.pyplot as plt
import random

nsteps = 10000000
draws = np.random.randint(0,2,size=nsteps)
steps = np.where(draws>0,1,-1)
walk = steps.cumsum()
plt.plot(np.arange(nsteps), np.array(walk), 'r-')
plt.title("Big Set Random Walk with $\pm1$ steps")
plt.show()
于 2012-11-30T20:38:31.450 回答
0

似乎有一些限制。我刚试过

import pylab
import numpy as np

n = 10000000 # my code works fine for n = 1000000

x = np.random.normal(0,1,n)

pylab.plot(x)

pylab.show()

并得到以下错误:

OverflowError: Agg rendering complexity exceeded. Consider downsampling or decimating your data.
于 2012-11-30T20:44:34.230 回答