为了让您了解我在寻找什么,它看起来像这样:
到目前为止,我的所有绘图都使用了 matplotlib,而且时间并不重要(它是在后处理中完成的)。
我想知道除了将我的数据向左移动并重新绘制整个绘图之外,是否还有更轻的绘图方法。
为了让您了解我在寻找什么,它看起来像这样:
到目前为止,我的所有绘图都使用了 matplotlib,而且时间并不重要(它是在后处理中完成的)。
我想知道除了将我的数据向左移动并重新绘制整个绘图之外,是否还有更轻的绘图方法。
看看Matplotlib 动画示例。主要技巧是不要完全重绘图形,而是使用 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)
在 python wiki 中有一个带有简短描述的建议列表:link。