pyqt5与matplotlib的完美结合实例


Posted in Python onJune 21, 2019

具体用到了matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg

直接上代码(这里给出的只是一个简单的框架,告诉你怎么去写):

# -*- coding: utf-8 -*-
'''
TODO:LQD
'''
import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FC
from PyQt5.QtWidgets import QApplication, QPushButton, QMainWindow, QVBoxLayout, QWidget
 
 
class QtDraw(QMainWindow):
  flag_btn_start = True
 
  def __init__(self):
    super(QtDraw, self).__init__()
    self.init_ui()
 
  def init_ui(self):
    self.resize(800, 600)
    self.setWindowTitle('PyQt5 Draw')
 
    # TODO:这里是结合的关键
    self.fig = plt.Figure()
    self.canvas = FC(self.fig)
    self.btn_start = QPushButton(self)
    self.btn_start.setText('draw')
    self.btn_start.clicked.connect(self.slot_btn_start)
 
    widget = QWidget()
    layout = QVBoxLayout()
    layout.addWidget(self.canvas)
    layout.addWidget(self.btn_start)
    widget.setLayout(layout)
    self.setCentralWidget(widget)
 
  def slot_btn_start(self):
    try:
      ax = self.fig.add_subplot(111)
      x = np.linspace(0, 100, 100)
      y = np.random.random(100)
      ax.cla() # TODO:删除原图,让画布上只有新的一次的图
      ax.plot(x, y)
      self.canvas.draw() # TODO:这里开始绘制
    except Exception as e:
      print(e)
 
 
def ui_main():
  app = QApplication(sys.argv)
  w = QtDraw()
  w.show()
  sys.exit(app.exec_())
 
 
if __name__ == '__main__':
  ui_main()

以上这篇pyqt5与matplotlib的完美结合实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
python对excel文档去重及求和的实例
Apr 18 Python
PyQt5每天必学之进度条效果
Apr 19 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
浅谈Python脚本开头及导包注释自动添加方法
Oct 27 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Python pip使用超时问题解决方案
Aug 03 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 Python
python中spy++的使用超详细教程
Jan 29 Python
django框架防止XSS注入的方法分析
Jun 21 #Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 #Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 #Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 #Python
django框架使用orm实现批量更新数据的方法
Jun 21 #Python
python字典改变value值方法总结
Jun 21 #Python
python如何以表格形式打印输出的方法示例
Jun 21 #Python
You might like
杏林同学录(六)
2006/10/09 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
一个网马的tips实现分析
2010/11/28 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
element-ui多文件上传的实现示例
2019/04/10 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
TensorFlow Session会话控制&Variable变量详解
2018/07/30 Python
对Django中内置的User模型实例详解
2019/08/16 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
个人简历自我评价八例
2013/10/31 职场文书
工程业务员岗位职责
2013/12/31 职场文书
幼儿园小班评语
2014/04/18 职场文书
优秀语文教师事迹
2014/05/18 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
通知格式
2015/04/27 职场文书
个人维稳承诺书
2015/05/04 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL