利用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中的变量的数据类型
May 13 Python
详解Python的Lambda函数与排序
Oct 25 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
Python模块文件结构代码详解
Feb 03 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
python 同时读取多个文件的例子
Jul 16 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
pytorch 如何使用batch训练lstm网络
May 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
php分页函数
2006/07/08 PHP
PHP脚本中include文件出错解决方法
2008/11/20 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Node.js的特点详解
2017/02/03 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Python的Scrapy爬虫框架简单学习笔记
2016/01/20 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
python中有帮助函数吗
2020/06/19 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
在C#中如何实现多态
2014/07/02 面试题
自我推荐书
2013/12/04 职场文书
招聘单位介绍信
2014/01/14 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
介绍信怎么写
2015/05/05 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
MySQL主从切换的超详细步骤
2022/06/28 MySQL