在python中绘制流数据的最轻量级方法

时间:2013-01-18 01:49:12

标签: python matplotlib

为了让您了解我正在寻找的内容,它看起来像this

到目前为止,我已经将matplotlib用于我的所有绘图,并且时间并不重要(它已在后期处理中完成)。

我想知道除了将数据向左移动并重新绘制整个图之外,是否有更轻量级的绘图方式。

2 个答案:

答案 0 :(得分:7)

查看Matplotlib Animations Examples。主要技巧是不完全重绘图形,而是使用matplotlib的OO接口并设置您创建的绘图线的x / ydata。如果你已经将你的绘图与某些GUI集成在一起,例如GTK,那么肯定会像在绘图的相应部分中提到的那样,否则你可能会干扰GUI工具包的事件循环。

供参考,如果链接死了:

from pylab import *
import time

ion()

tstart = time.time()               # for profiling
x = arange(0,2*pi,0.01)            # x-array
line, = plot(x,sin(x))
for i in arange(1,200):
    line.set_ydata(sin(x+i/10.0))  # update the data
    draw()                         # redraw the canvas

print 'FPS:' , 200/(time.time()-tstart)

答案 1 :(得分:-1)

在python wiki中有一个简短描述的建议列表:link