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 getopt模块处理命令行选项实例
May 13 Python
python操作redis的方法
Jul 07 Python
python 根据pid杀死相应进程的方法
Jan 16 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
Python 函数list&read&seek详解
Aug 28 Python
python实现超市管理系统(后台管理)
Oct 25 Python
基于CentOS搭建Python Django环境过程解析
Aug 24 Python
Python list和str互转的实现示例
Nov 16 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
Vue性能优化的方法
2020/07/30 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python操作ie登陆土豆网的方法
2015/05/09 Python
python编程开发之日期操作实例分析
2015/11/13 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
创业计划书六个要素
2013/12/26 职场文书
给女朋友的道歉信
2014/01/10 职场文书
单位成立周年感言
2014/01/26 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
社会公德演讲稿
2014/05/20 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
公司庆典欢迎词
2015/01/26 职场文书
管理失职检讨书范文
2015/05/05 职场文书
舌尖上的中国观后感
2015/06/02 职场文书