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 SQLite3数据库操作类分享
Jun 10 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 Python
Python处理文本换行符实例代码
Feb 03 Python
python3对接mysql数据库实例详解
Apr 30 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
Python文件操作函数用法实例详解
Dec 24 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
python在不同条件下的输入与输出
Feb 13 Python
keras slice layer 层实现方式
Jun 11 Python
Python实现石头剪刀布游戏
Jan 20 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
Discuz! Passport 通行证整合
2008/03/27 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
JavaScript的目的分析
2007/01/05 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Cython 三分钟入门教程
2009/09/17 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
单利模式及python实现方式详解
2018/03/20 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
python3处理word文档实例分析
2020/12/01 Python
PHP如何删除一个Cookie值
2012/11/15 面试题
师范院校学生自荐信范文
2013/12/27 职场文书
集体婚礼策划方案
2014/02/22 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
2015年仓管员工作总结
2015/04/21 职场文书