pyqt5绘制实时折线图例子
时间: 2023-04-12 14:00:33 浏览: 196
可以使用QTimer和QPainter来实现实时折线图的绘制。以下是一个简单的例子:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import QTimer
from PyQt5.QtGui import QPainter, QPen
from random import randint
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Real-time Line Chart")
self.setGeometry(100, 100, 800, 600)
self.data = [0] * 100
self.timer = QTimer(self)
self.timer.timeout.connect(self.update_data)
self.timer.start(50)
def update_data(self):
self.data = self.data[1:] + [randint(0, 100)]
self.update()
def paintEvent(self, event):
painter = QPainter(self)
pen = QPen()
pen.setWidth(3)
painter.setPen(pen)
for i in range(len(self.data) - 1):
painter.drawLine(i * 8, 500 - self.data[i] * 4, (i + 1) * 8, 500 - self.data[i + 1] * 4)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个例子会在窗口中绘制一个实时折线图,每50毫秒更新一次数据。注意,这只是一个简单的例子,实际应用中可能需要更复杂的逻辑和绘制方式。
阅读全文