我正在用 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)
添加回答
举报
0/150
提交
取消