利用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编写web API的教程
Apr 30 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
Python selenium抓取微博内容的示例代码
May 17 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
Django框架封装外部函数示例
May 28 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
详解用python计算阶乘的几种方法
Aug 14 Python
TensorFlow2.0:张量的合并与分割实例
Jan 19 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
python 实现弹球游戏的示例代码
Nov 17 Python
pytorch 带batch的tensor类型图像显示操作
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
使用PHP计算两个路径的相对路径
2013/06/14 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
python中MySQLdb模块用法实例
2014/11/10 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
中英文自我评价语句
2013/12/20 职场文书
公务员综合考察材料
2014/02/01 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
小学安全汇报材料
2014/08/14 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
浅谈Python类的单继承相关知识
2021/05/12 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL