pyqtgraph plot画折线图,并显示最大值与最小值
时间: 2024-09-21 20:06:34 浏览: 48
在PyQtGraph库中,你可以使用`pg.plot()`函数创建一个简单的折线图,并通过自定义回调函数或事件处理器来显示数据的最大值和最小值。下面是一个示例,展示如何创建一个折线图并在右下角显示实时更新的最小值和最大值:
首先,导入所需的模块:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
import pyqtgraph as pg
```
然后,在主窗口初始化部分,创建一个窗口和图形视图:
```python
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.app = QApplication(sys.argv)
self.main_widget = pg.GraphicsLayoutWidget()
self.setCentralWidget(self.main_widget)
# 创建线图
self.line_plot = self.main_widget.addPlot()
self.data = [0] * 100 # 示例数据
self.line_curve = self.line_plot.plot(pen='r') # 红色折线
# 定义显示最大值和最小值的槽函数
self.update_max_min()
def update_max_min(self):
min_val, max_val = min(self.data), max(self.data)
text = f"Min: {min_val:.2f} | Max: {max_val:.2f}"
label = pg.LabelItem(text=text, color='g', border='w')
self.line_plot.addItem(label, row=1, col=0)
# 设置定时器每隔一段时间更新最大值和最小值
self.timer = pg.QtCore.QTimer(self)
self.timer.timeout.connect(self.update_max_min)
self.timer.start(1000) # 每秒更新一次
# 启动应用
if __name__ == '__main__':
app = QApplication(sys.argv)
main_win = MainWindow()
main_win.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先在窗口中创建了一个`GraphicsLayoutWidget`,然后在其中添加了一个绘图区`addPlot()`。`line_plot.plot()`函数创建了折线图,我们将随机生成的数据绘制到这条线上。`update_max_min()`函数会定期获取数据集中的最小值和最大值,并将它们显示在一个绿色的标签上。
阅读全文