如何解决如何实时更新QChartPyQt5?
我必须使用QChart绘制传入的数据流。
要检查我已实现的代码,我获取了一个带有时间序列数据的csv文件,该文件会定期读取并附加到QLineseries中。该系列已添加到QChart中。但是,在运行代码后,该图完全无法显示。
class Window(QMainWindow):
def __init__(self,*args,**kwargs):
super(Window,self).__init__()
self.maxLen = int(frame_rate*time_window)
self.data = []
self.source = source
chart = QChart()
self.series = QLineseries(self)
chart.addSeries(self.series)
chart.createDefaultAxes()
chart.setAnimationoptions(QChart.SeriesAnimations)
chartview = QChartView(chart)
chartview.setRenderHint(QtGui.QPainter.Antialiasing)
self.setCentralWidget(chartview)
self.count = 0
def update(self):
new_data = source.iloc[self.count,4]
if len(self.data) > self.maxLen:
self.data= self.data[1:]
self.data.append((self.count,new_data))
self.series = list(self.data)
App.processEvents()
self.count += 1
if __name__ == '__main__':
time_window = 5 #secs
frame_rate = 20
source = pd.read_csv('source.csv')
App = QApplication(sys.argv)
plot = Window(time_window,frame_rate,source)
plot.show()
graphUpdateSpeedMs = 1000/frame_rate
timer = QtCore.QTimer()
timer.timeout.connect(plot.update)
timer.start(graphUpdateSpeedMs)
App.instance().exec_()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。