利用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切片知识解析
Mar 06 Python
解决Python出现_warn_unsafe_extraction问题的方法
Mar 24 Python
一篇文章快速了解Python的GIL
Jan 12 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
python+os根据文件名自动生成文本
Mar 21 Python
Python 变量的创建过程详解
Sep 02 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
python yield关键词案例测试
Oct 15 Python
AUC计算方法与Python实现代码
Feb 28 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 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
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
理理Vue细节(推荐)
2019/04/16 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
python db类用法说明
2020/07/07 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Python函数调用追踪实现代码
2020/11/27 Python
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
销售人才自我评价范文
2014/09/27 职场文书
维稳工作承诺书
2015/01/20 职场文书
交通事故起诉书
2015/05/19 职场文书
2015大一新生军训感言
2015/08/01 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技