matplotlib绘图数组大小限制?

时间:2012-11-30 20:26:24

标签: python matplotlib plot

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

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

2 个答案:

答案 0 :(得分:1)

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

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()

答案 1 :(得分: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.