【发布时间】:2019-05-08 08:18:41
【问题描述】:
以下代码显示以下窗口:
import numpy as np
import matplotlib.pylab as pl
import matplotlib.gridspec as gridspec
from matplotlib import pyplot as plt
def plot_stuff(x,y,z):
gs = gridspec.GridSpec(3, 1)
plt.style.use('dark_background')
pl.figure("1D Analysis")
ax = pl.subplot(gs[0, 0])
ax.set_ylabel('X VALUE')
pl.plot(x, color="red")
ax = pl.subplot(gs[1, 0])
ax.set_ylabel('Y VALUE')
pl.plot(y, color="green")
ax = pl.subplot(gs[2, :])
ax.set_ylabel('Z VALUE')
pl.plot(z, color="blue")
plt.show()
如何在不显式单击鼠标的情况下关闭窗口?
我需要可视化大量数据,因此我正在寻找一种方法来自动化打开和关闭窗口的过程。
我知道plt.show() 是一个阻塞操作,我已经尝试使用plt.close("all") 方法如相关问题中所述,但窗口仍然存在,没有关闭,我必须关闭手动关闭它。
我需要一个简单的代码来自动化打开窗口、可视化数据、在一定时间间隔后关闭窗口的过程;然后以 for 循环的方式重复该过程。
【问题讨论】:
-
我的意思是 something 需要发生才能关闭窗口。那会是什么?
-
显然是一个事件,在这种情况下就像鼠标点击一样。你会怎么做?
-
问题是
show()是一个设计的阻塞函数。这里有一个问题/答案 (stackoverflow.com/questions/11140787/closing-pyplot-windows) 可能会有所帮助,但这不是一个小问题。 -
你想让我看看你的代码是什么样子,然后给出一个与显而易见的
plt.close()不同的答案? -
另一个潜在问题是您正在混合使用 pylab(不再支持)和 pyplot。见matplotlib.org/faq/…
标签: python matplotlib