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中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
python3.5使用tkinter制作记事本
Jun 20 Python
python如何在列表、字典中筛选数据
Mar 19 Python
python生成n个元素的全组合方法
Nov 13 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
Django框架模板介绍
Jan 15 Python
python使用Plotly绘图工具绘制散点图、线形图
Apr 02 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
Django项目中实现使用qq第三方登录功能
Aug 13 Python
python 类之间的参数传递方式
Dec 20 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
OpenCV-Python模板匹配人眼的实例
Jun 08 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
对Python Class之间函数的调用关系详解
2019/01/23 Python
python调试神器PySnooper的使用
2019/07/03 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
tensorflow的计算图总结
2020/01/12 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
年终总结会主持词
2014/03/25 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
在职员工证明书
2014/09/19 职场文书
银行转正自我鉴定
2014/09/29 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2014年团支书工作总结
2014/11/14 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
nginx七层负载均衡配置详解
2022/07/15 Servers