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进程的信号通讯
Apr 09 Python
python中星号变量的几种特殊用法
Sep 07 Python
python使用RNN实现文本分类
May 24 Python
Python 实现微信防撤回功能
Apr 29 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
Python学习之os模块及用法
Jun 03 Python
python dict如何定义
Sep 02 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
python manim实现排序算法动画示例
Aug 14 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
Zend Guard一些常见问题解答
2008/09/11 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
react-router实现按需加载
2017/05/09 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
详解Django中Request对象的相关用法
2015/07/17 Python
Python中的变量和作用域详解
2016/07/13 Python
Python3解释器知识点总结
2019/02/19 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
11月升旗仪式讲话稿
2014/02/15 职场文书
员工安全责任书范本
2014/07/24 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
分享几种python 变量合并方法
2022/03/20 Python