利用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实现快速傅里叶变换的方法(FFT)
Jul 21 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 Python
用Python实现读写锁的示例代码
Nov 05 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
python pygame实现方向键控制小球
May 17 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
python中selenium库的基本使用详解
Jul 31 Python
Python Django搭建文件下载服务器的实现
May 10 Python
Python Django框架介绍之模板标签及模板的继承
May 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中使用灵巧的体系结构
2006/10/09 PHP
function.inc.php超越php
2006/12/09 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
Python Socket编程入门教程
2014/07/11 Python
windows下python连接oracle数据库
2017/06/07 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
python 元组的使用方法
2020/06/09 Python
python中四舍五入的正确打开方式
2021/01/18 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
《假如》教学反思
2016/02/17 职场文书