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学习笔记:字典的使用示例详解
Jun 13 Python
python脚本设置系统时间的两种方法
Feb 21 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
python 日志增量抓取实现方法
Apr 28 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
python scatter函数用法实例详解
Feb 11 Python
python多进程下的生产者和消费者模型
May 07 Python
python实现图片素描效果
Sep 26 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面向对象编程快速入门
2006/12/14 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
yii分页组件用法实例分析
2015/12/28 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
Python获取系统默认字符编码的方法
2015/06/04 Python
python安装twisted的问题解析
2018/08/21 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
简单了解python的内存管理机制
2019/07/08 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
使用python实现对元素的长截图功能
2019/11/14 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
super()与this()的区别
2016/01/17 面试题
传播学毕业生求职信
2013/10/11 职场文书
工程总经理工作职责
2013/12/09 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
优秀求职信范文分享
2014/01/26 职场文书
会计专业自我评价
2014/02/12 职场文书
应届生求职信
2014/05/31 职场文书
放飞理想主题班会
2015/08/14 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP