利用matplotlib实现根据实时数据动态更新图形


Posted in Python onDecember 13, 2019

我就废话不多说了,直接上代码吧!

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 相关文章推荐
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Django学习笔记之为Model添加Action
Apr 30 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
tensorflow 查看梯度方式
Feb 04 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
基于tensorflow权重文件的解读
May 26 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 Python
python数字图像处理:图像的绘制
Jun 28 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 #Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 #Python
PyQt5多线程刷新界面防假死示例
Dec 13 #Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 #Python
python-web根据元素属性进行定位的方法
Dec 13 #Python
python Jupyter运行时间实例过程解析
Dec 13 #Python
Python time库基本使用方法分析
Dec 13 #Python
You might like
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
asp.net和php的区别点总结
2019/10/10 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
div层的移动及性能优化
2010/11/16 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
python入门之基础语法学习笔记
2020/02/08 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
如何安装ruby on rails
2014/02/09 面试题
机械专业个人求职自荐信格式
2013/09/21 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
《故乡》教学反思
2014/04/10 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
环保倡议书500字
2014/05/15 职场文书
爱护公共设施标语
2014/06/24 职场文书
年终晚会活动方案
2014/08/21 职场文书
简单的辞职信模板
2015/05/12 职场文书
二年级作文之动物作文
2019/11/13 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python