matplotlib中有多种动画数据的方式,具体取决于你使用的版本。你看过
matplotlib食谱示例吗?另外,请在
matplotlib文档中查看更现代的动画示例。最后,动画API定义了一个函数FuncAnimation,该函数可以对一个函数进行实时动画处理。该功能可能只是你用来获取数据的功能。
每种方法基本上都设置了
data要绘制的对象的属性,因此不需要清除屏幕或图形。
data可以简单地扩展该属性,因此你可以保留先前的点,而只需继续添加到线(或图像或所绘制的任何东西)中。
假设你说数据到达时间不确定,那么最好的选择就是执行以下操作:
import matplotlib.pyplot as pltimport numpyhl, = plt.plot([], [])def update_line(hl, new_data): hl.set_xdata(numpy.append(hl.get_xdata(), new_data)) hl.set_ydata(numpy.append(hl.get_ydata(), new_data)) plt.draw()
然后,当你从串行端口接收数据时,只需调用
update_line。



