利用pyqt5的pyqtgraph绘制不断更新的数值单条曲线
时间: 2023-06-29 19:08:07 浏览: 128
要利用PyQt5的PyQtGraph绘制不断更新的数值单条曲线,可以使用QTimer来定时更新曲线数据,并使用plot函数来绘制曲线。下面是一个简单的示例代码:
```python
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import pyqtgraph as pg
import random
class PlotWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Plot Window')
self.setGeometry(100, 100, 800, 600)
self.plot = pg.PlotWidget(self)
self.plot.setGeometry(50, 50, 700, 500)
self.x_data = []
self.y_data = []
self.timer = QTimer()
self.timer.timeout.connect(self.update_plot)
self.timer.start(1000) # 1秒钟更新一次
def update_plot(self):
self.x_data.append(len(self.x_data))
self.y_data.append(random.randint(0, 100))
self.plot.plot(self.x_data, self.y_data, pen='r')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = PlotWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例代码中,我们创建了一个`PlotWindow`类,该类继承自QWidget。在`PlotWindow`的构造函数中,我们创建了一个`PlotWidget`对象,并设置了其大小和位置。我们还创建了两个空列表`x_data`和`y_data`用于存储曲线的数据。
我们使用了QTimer来定时更新曲线数据。在`update_plot`函数中,我们向`x_data`列表中添加一个新的数据点,该数据点的值为当前`x_data`列表的长度。我们还向`y_data`列表中添加一个随机整数。然后,我们使用`plot`函数绘制曲线,将`x_data`和`y_data`作为参数传递给`plot`函数,并指定曲线的颜色为红色。
最后,我们在`main`函数中创建了一个`QApplication`对象和一个`PlotWindow`对象,然后显示窗口并启动应用程序的事件循环。
这样,我们就可以利用PyQt5的PyQtGraph绘制不断更新的数值单条曲线了。
阅读全文