我有一个传感器,它每秒提供数据近500次,我已经连接到一个Arduino,我正在用Python读取数据,因为我将在下一步处理它。在
我尝试使用Matplolib中的FuncAnimation。在
这是animate函数:def animate(i):
global data
# Data comes as one sample per line
char = ''
res = ''
while char != b'\n':
char = s.read()
res += char.decode("utf-8")
res = res[:-1] # To remove a \r added by arduino
data = data[1:] + [float(res)]
ax.set_ylim(min(data), max(data))
line.set_ydata(data)
return line,
我使用以下代码计算获得单个值的大致时间:
^{pr2}$
最后将动画初始化为:ani = animation.FuncAnimation(fig, animate, interval=T * 1000, blit=False)
当我在Arduino上平均大约5个值然后绘制时,这个方法工作得很好,但是当我全速运行python时,它崩溃了,这让我相信问题与速度有关。而且,即使我做平均值,情节也落后于实际动作5秒左右。在
如何实时绘制所有值?在