我正在尝试创建一个 gui,它将在收集数据时不断更新 matplotlib 图。我希望该图保留过去的 5 个数据点,并在最近的数据点前面有一些空白区域。
这是我的脚本的一个极其简化的版本,它说明了我的问题所在:
import numpy as np
import pylab
import time
pylab.ion()
x1 = [0,1,2,3,4,5]
x2 = [5,6,7,8,9,10]
y1 = [5,6,7,8,7,8]
y2 =[8,7,6,5,4,3]
rate = 1
timer = 0
count = 0
while count <2:
if timer == 0:
pylab.plot(x1,y1)
pylab.show()
timer += rate
count += 1
time.sleep(1)
else:
pylab.plot(x2,y2)
pylab.draw()
timer += rate
count += 1
time.sleep(1)
我已经尝试过使用 show(block=False) 和其他一些东西。无论如何,在代码继续运行和我可以用来更新它的命令时,是否有强制数字保持打开状态?任何其他建议将不胜感激。