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实现CET查分的方法
Mar 10 Python
Python脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
Python2中的raw_input() 与 input()
Jun 12 Python
python实现网站的模拟登录
Jan 04 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
Python和C/C++交互的几种方法总结
May 11 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
如何基于Python创建目录文件夹
Dec 31 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
如何表示python中的相对路径
Jul 08 Python
python如何变换环境
Jul 21 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函数
2011/05/31 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
js倒计时显示实例
2016/12/11 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
用原生js做单页应用
2017/01/17 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
Python实现的快速排序算法详解
2017/08/01 Python
python3.x上post发送json数据
2018/03/04 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
大三自我鉴定范文
2013/10/05 职场文书
高中生期末评语大全
2014/01/28 职场文书
农业开发项目建议书
2014/05/16 职场文书