利用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将ip地址转换成整数的方法
Mar 17 Python
Python计算字符宽度的方法
Jun 14 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
Python的时间模块datetime详解
Apr 17 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
PyCharm下载和安装详细步骤
Dec 17 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
python中shell执行知识点
May 06 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
如何用python实现一个HTTP连接池
Jan 14 Python
python使用glob检索文件的操作
May 20 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
合作指挥官:孟斯克
2020/03/16 星际争霸
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php debug 安装技巧
2011/04/30 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php实现网站留言板功能
2015/11/04 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
jquery移动节点实例
2015/01/14 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
如何在Win10系统使用Python3连接Hive
2020/10/15 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
缓刑人员思想汇报
2014/10/11 职场文书
2016年国培研修日志
2015/11/13 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书