如何在不关闭整个程序的情况下关闭Matplotlib窗口



我正在使用Matplotlib绘制从ADC获得的一些值,并且绘制本身运行良好。

我将进行5次更新,然后停止绘制值,但如果不停止整个程序(也使用tkinter(,我就无法关闭图形窗口。

在我看来,最好的选择是能够关闭角落里小X上的窗口,或者在5次更新后自动关闭,或者其他任何事情。每当我按下x时,整个执行都会停止,我仍然希望tkinter能够运行,并且能够在不重新启动执行的情况下再次运行它。

代码如下所示,voltage_converteradc_1是其他方法,但它们运行良好。我创建的tkinter菜单有一个用于启动sensor()的专用按钮。

def sensor():
plt.ion()
fig = plt.figure(figsize=(20,5))
ax = fig.add_subplot(1,1,1)
lista = []
current = []
counter = 0
while True: 
lista.append(voltage_converter(adc_1()))
for i in range(len(lista))
plt.plot(lista[i])
xcorr = [0,100]
ycorr = [1.5, 1.5]
plt.plot(xcorr, ycorr)
plt.pause(1)
plt.clf()
counter = counter + 1
time.sleep(7)
lista.clear()
if counter == 5:
plt.clf()
plt.close(fig)
break

我假设plt.ion()的意思是matplotlib.pyplot.ion((?

你试过让窗户关上吗?此时您正在使用plt.clf()清除窗口,请尝试:matplotlib.pyplot.close()

plt.close((应该在这里工作。

您可以查看链接以获取更多关闭选项。

相关内容

最新更新