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中去空格函数的用法
Aug 21 Python
Python reduce()函数的用法小结
Nov 15 Python
python学生管理系统代码实现
Apr 05 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
python简单验证码识别的实现方法
May 10 Python
Django中的静态文件管理过程解析
Aug 01 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
Python bytes string相互转换过程解析
Mar 05 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
解析数组非数字键名引号的必要性
2013/08/09 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
初学JavaScript第二章
2008/09/30 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
python解析含有重复key的json方法
2019/01/22 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
高中生毕业自我鉴定范文
2013/12/22 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2015年招聘工作总结
2014/12/12 职场文书
学校隐患排查制度
2015/08/05 职场文书
2019学校运动会开幕词
2019/05/13 职场文书