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 09 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
python字符串常用方法
Jun 14 Python
对Python 数组的切片操作详解
Jul 02 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
python中的时区问题
Jan 14 Python
使用python绘制横竖条形图
Apr 21 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php中文验证码实现示例分享
2014/01/12 PHP
php可变长参数处理函数详解
2017/02/22 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
python中lambda()的用法
2017/11/16 Python
python3 读取Excel表格中的数据
2018/10/16 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Python如何给你的程序做性能测试
2020/07/29 Python
用Python制作音乐海报
2021/01/26 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
用友笔试题目
2016/10/25 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
自我鉴定范文300字
2013/10/01 职场文书
艺术爱好者的自我评价分享
2013/10/08 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
起诉意见书范文
2015/05/19 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
CPU不支持Windows11系统怎么办
2021/11/21 数码科技