Pyqt+matplotlib 实现实时画图案例

本文介绍了如何在Pyqt环境中利用matplotlib实现实时画图的需求,讲解了项目背景、运行环境,并提供了官方示例的改进方法。在实时更新数据时遇到的问题,如无法刷新绘图,文章提到了两种解决方案,分别是通过定时器和动态添加/移除组件。同时,还分享了个人经验和相关学习资源。
摘要由CSDN通过智能技术生成

本文主要介绍了Pyqt+matplotlib 实现实时画图案例,具有很好的参考价值,希望对大家有所帮助。

需求分析:

项目中根据测得的数据在界面上实时绘制

运行环境:

Python 3.7 + Matplotlib 3.0.2 + PyQt 5

matplot官网给的相应的例子:

import sys
import time
import numpy as np
from matplotlib.backends.qt_compat import QtCore, QtWidgets, is_pyqt5
if is_pyqt5():
  from matplotlib.backends.backend_qt5agg import (
    FigureCanvas, NavigationToolbar2QT as NavigationToolbar)
else:
  from matplotlib.backends.backend_qt4agg import (
    FigureCanvas, NavigationToolbar2QT as NavigationToolbar)
from matplotlib.figure import Figure
class ApplicationWindow(QtWidgets.QMainWindow):
  def __init__(self):
    super().__init__()
    self._main = QtWidgets.QWidget()
    self.setCentralWidget(self._main)
    layout = QtWidgets.QVBoxLayout(self._main)
    static_canvas = FigureCanvas(Figure(figsize=(5, 3)))
    layout.addWidget(static_canvas)
    self.addToolBar(NavigationToolbar(static_canvas, self))
    dynamic_canvas = FigureCanvas(Figure(figsize=(5, 3)))
    layout.addWidget(dynamic_canvas)
    self.addToolBar(QtCore.Qt.BottomToolBarArea,
            NavigationToolbar(dynamic_canvas, self))
    self._static_ax = static_canvas.figure.subplots()
    t = np.linspace(0, 10, 501)
    self._static_ax.plot(t, np.tan(t), ".")
    self._dynamic_ax = dynamic_canvas.figure.subplots()
    self._timer = dynamic_can
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值