为了账号安全,请及时绑定邮箱和手机立即绑定

pyqtgraph 中的动画图表

pyqtgraph 中的动画图表

慕莱坞森 2021-09-02 20:30:27
我正在用 pyqtchart 做我的第一次测试,但由于关于动画图表的文档很差,我遇到了一些问题。我构建了一个图表,显示了“sin”、“cos”和“tan”函数(近似切线的值),为了让它生效,我构建了一个线程,每次都清除并重新绘制图表。它有效,但我不知道这是正确的方法还是最有效的方法。我在github上找到了一个示例,但对我来说并不是很清楚。我不明白这是否是“官方方式”,或者 pyqtgraph 是否提供了一些内置函数来自动化它。对于任何能给我一些建议的人,我都会非常感激。这是我的代码:from PyQt5.QtWidgets import *from PyQt5.QtCore import QThread, pyqtSignalimport pyqtgraph as pgimport mathimport numpy as npimport sysimport timeclass Gui(QWidget):    def __init__(self):        super().__init__()        self.setupUI()    def setupUI(self):        pg.setConfigOption('background', 0.95)        pg.setConfigOptions(antialias=True)        self.plot = pg.PlotWidget()        self.plot.setAspectLocked(lock=True, ratio=0.01)        self.plot.setYRange(-3, 3)        self.widget_layout = QVBoxLayout()        self.widget_layout.addWidget(self.plot)        self.setLayout(self.widget_layout)    def plot_data(self, data):        self.plot.clear()        self.plot.plot(range(0, 720), data[0], pen=pg.mkPen(color='g', width=2))        self.plot.plot(range(0, 720), data[1], pen=pg.mkPen(color='r', width=2))        self.plot.plot(range(0, 720), data[2], pen=pg.mkPen(color='y', width=2))class Thread(QThread):    sig_plot = pyqtSignal(list)    def __init__(self):        super().__init__()        self.sig_plot.connect(gui.plot_data)
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信