我在PyQt窗口中有一个绘图,该绘图每10秒更新一次。问题在于,每次更新图中的数据时,都会出现闪烁,这非常令人讨厌。有办法解决吗?请参阅我用于绘制图的代码:
def _plot(self):
self.fig.clear()
chart1 = self.fig.add_subplot(2,1,1)
chart2 = self.fig.add_subplot(2,1,2)
chart1.grid(True)
chart2.grid(True)
chart1.plot(h_headers,reference)
for row in rows:
curve = []
gap_curve = []
for v in range(len(h_headers)-1):
curve.append(#SOME NUMBERS#)
chart1.plot(h_headers, curve)
chart2.plot(h_headers, gap_curve)
self.fig.patch.set_visible(False)
self.canvas.draw()
要调用_plot方法,请使用一个线程:
loop = True
class DataStream(threading.Thread):
def __init__(self,queue):
threading.Thread.__init__(self)
self.queue = queue
def run(self):
while loop:
window.update_numbers()
window._plot()
window.pyqttable.viewport().update()
time.sleep(5)
我做错什么了吗? Matplotlib在这里相当菜鸟,谢谢!
答案 0 :(得分:0)
万一有人遇到与我相同的问题,我就换了
self.canvas.draw()
到
self.canvas.draw_idle()