在qt中可能需要动态的呈现数据变化,为此本文给出了一种方法
1.利用QTimer创造一个计时器
self.timer1=QTimer()
self.timer.start(0.01)#把这句放在恰当的地方
self.timer1.timeout.connect(self.plot1)
2.当计时器到达时间就去调用plot方法
ax=self.figure.add_axes([0.1,0.1,0.8,0.8])
ax.plot(x,self.loss_e,"b")
self.canvas.draw()
3.实现细节:
在layout的一个widget中呈现figure
可以利用如下三行实现
self.figure = plt.figure()
self.canvas = FigureCanvas(self.figure)
self.ui.layout.addWidget(self.canvas,0,0)
小结:
用这种方法实现的话,只在一个坐标轴下绘制曲线,曲线动态变化,并且不会多次弹出绘图窗口