Python 更新时Matplotlib图形闪烁
我在PyQt窗口中有一个绘图,每10秒更新一次。问题是,每次它更新图中的数据时,都会出现闪烁,这非常恼人。有办法解决这个问题吗?请参见我用于绘制绘图的代码:Python 更新时Matplotlib图形闪烁,python,matplotlib,pyqt,Python,Matplotlib,Pyqt,我在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) cha
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真是太棒了,谢谢 如果有人和我有同样的问题,我只是改变了
self.canvas.draw()
到
如果有人和我有同样的问题,我只是改变了
self.canvas.draw()
到
提供一个Hi-eyllanesc,我试图完成更多的代码,但如果把它们全部放在一起,对任何读者来说都会是一团混乱,因为有太多相互关联的非相关函数。我认为闪烁或闪烁的问题归结于我创建的_plot()方法,虽然我也认为这是matplotlib的正常行为,但必须有一种方法来避免这种情况。也许用动画?谢谢这个问题可以给出n个原因,样本不会尝试给出代码或者给出可能的原因,如果代码中有不相关的东西,那么就删除它们,也就是说,创建一个像样的代码。一个MCVE必须是完整的,而你的不是。提供一个Hi-eyllanesc,我试图完成更多的代码,但对任何读者来说都是一团糟,因为有太多相互关联的非相关函数。我认为闪烁或闪烁的问题归结于我创建的_plot()方法,虽然我也认为这是matplotlib的正常行为,但必须有一种方法来避免这种情况。也许用动画?谢谢这个问题可以给出n个原因,样本不会尝试给出代码或者给出可能的原因,如果代码中有不相关的东西,那么就删除它们,也就是说,创建一个像样的代码。MCVE必须完整,而您的则不完整。有相同的问题,但我没有使用
canvas
绘制,而是使用plt.show
。我尝试添加fig.canvas.draw\u idle()
,但它似乎不起作用。这很烦人(闪烁)。有同样的问题,但我不是用canvas
画图,而是用plt.show
。我尝试添加fig.canvas.draw\u idle()
,但它似乎不起作用。(闪烁声)真烦人。