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之玩转字符串(2)
Sep 14 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
python实现推箱子游戏
Mar 25 Python
python 与服务器的共享文件夹交互方法
Dec 27 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
python获取响应某个字段值的3种实现方法
Apr 30 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
Python开发五子棋小游戏
May 02 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
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
jQuery操作cookie
2016/08/08 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
浅谈js中的this问题
2017/08/31 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python实现超市商品销售管理系统
2019/11/22 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
干部下基层实施方案
2014/03/14 职场文书
高三语文复习计划
2015/01/19 职场文书
美丽心灵观后感
2015/06/01 职场文书
夏洛特的网观后感
2015/06/15 职场文书
小学数学教师研修日志
2015/11/13 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
部分武汉产收音机展览
2022/04/07 无线电