pyqt5绘制多彩的实时折线图例子
时间: 2023-04-12 15:00:37 浏览: 360
可以使用 PyQtGraph 库来绘制多彩的实时折线图。以下是一个简单的例子:
```python
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QMainWindow
import numpy as np
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个 PlotWidget 对象
self.plot_widget = pg.PlotWidget()
self.setCentralWidget(self.plot_widget)
# 创建一个曲线对象
self.curve = self.plot_widget.plot(pen='w')
# 设置定时器,每隔 50 毫秒更新一次曲线
self.timer = pg.QtCore.QTimer()
self.timer.timeout.connect(self.update_plot)
self.timer.start(50)
# 初始化 x 和 y 数据
self.x = np.linspace(0, 10*np.pi, 1000)
self.y = np.sin(self.x)
def update_plot(self):
# 更新 y 数据
self.y = np.roll(self.y, -1)
self.y[-1] = np.sin(self.x[-1] + 0.1)
# 更新曲线数据
self.curve.setData(self.x, self.y)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个例子使用了 PyQtGraph 库中的 PlotWidget 和 PlotCurve 对象来绘制实时折线图。定时器每隔 50 毫秒更新一次曲线,更新数据后调用 setData() 方法更新曲线。
阅读全文