利用matplotlib实现根据实时数据动态更新图形
2020-02-13 12:24
1866 查看
我就废话不多说了,直接上代码吧!
from time import sleep from threading importThread import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets importButton fig, ax = plt.subplots() #设置图形显示位置 plt.subplots_adjust(bottom=0.2) #实验数据 range_start, range_end, range_step =0,1,0.005 t = np.arange(range_start, range_end, range_step) s = np.sin(4*np.pi*t) l,= plt.plot(t, s, lw=2) #自定义类,用来封装两个按钮的单击事件处理函数 classButtonHandler: def __init__(self): self.flag =True self.range_s, self.range_e, self.range_step =0,1,0.005 #线程函数,用来更新数据并重新绘制图形 def threadStart(self): while self.flag: sleep(0.02) self.range_s += self.range_step self.range_e += self.range_step t = np.arange(self.range_s, self.range_e, self.range_step) ydata = np.sin(4*np.pi*t) #更新数据 l.set_xdata(t-t[0]) l.set_ydata(ydata) #重新绘制图形 plt.draw() defStart(self, event): self.flag =True #创建并启动新线程 t =Thread(target=self.threadStart) t.start() defStop(self, event): self.flag =False callback =ButtonHandler() #创建按钮并设置单击事件处理函数 axprev = plt.axes([0.81,0.05,0.1,0.075]) bprev =Button(axprev,'Stop') bprev.on_clicked(callback.Stop) axnext = plt.axes([0.7,0.05,0.1,0.075]) bnext =Button(axnext,'Start') bnext.on_clicked(callback.Start) plt.show()
二 运行结果
以上这篇利用matplotlib实现根据实时数据动态更新图形就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- matplotlib实现根据实时数据动态更新图形
- 基于Python实现matplotlib中动态更新图片(交互式绘图)
- tkinter+matplotlib实现示波器效果,动态显示汽车数据
- 使用PyQt5嵌入matplotlib,实现根据界面输入数值更换显示的matplotlib图形
- 利用matplotlib绘制多个实时刷新的动态图表
- java实现的highcharts与ajax结合动态实时获取数据更新图表
- Python进阶(三十八)-数据可视化の利用matplotlib 进行折线图,直方图和饼图的绘制
- 利用ajax轮询实现动态更新mysql的数据流到网页上显示
- 演示如何实现Matplotlib绘图并保存图像但不显示图形的方法
- 7057-1.Python数据可视化:利用matplotlib中的subplot进行图中图展示
- 【echarts】用地图模块做动态流程图2.0(根据后台数据自动均匀排布,且实时更新节点状态)
- 利用动态图层实现数据的实时显示
- matplotlib实现数据可视化
- 股票量化分析(3)——matplotlib利用tushare的股票数据画一般图、k线图
- Python Matplotlib实现三维/四维数据的柱状图绘制
- matplotlib动态更新窗口
- 使用Matplotlib实现实时数据流可视化(animation模块)
- Python使用matplotlib实现数据可视化教程
- python学习记录2——利用matplotlib动态显示梯度下降法中的参数
- Python使用matplotlib实现交换式图形显示功能示例