如何通过键盘输入关闭python图形?

如何通过键盘输入关闭python图形?,python,matplotlib,figure,Python,Matplotlib,Figure,我正在尝试编写一个python程序,它无限期地显示一个图形,并在按下任何键盘键后将其关闭 事实上,python程序应该执行与以下Matlab代码相同的操作: t = 0:0.01:2; s = sin(2 * pi * t); plot(t,s) pause close 在python中,我能够绘制图形,但在键盘输入后什么也没有发生 import numpy as np import matplotlib.pyplot as plt t = np.arange(0.0, 2.0, 0.0

我正在尝试编写一个python程序,它无限期地显示一个图形,并在按下任何键盘键后将其关闭

事实上,python程序应该执行与以下Matlab代码相同的操作:

t = 0:0.01:2;
s = sin(2 * pi * t);

plot(t,s)

pause
close
在python中,我能够绘制图形,但在键盘输入后什么也没有发生

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)

#plt.ion()
fig = plt.figure()
plt.plot(t,s)
#plt.show()
plt.draw()

raw_input("PRESS ANY KEY TO CONTINUE.")
plt.close(fig)
到目前为止,我观察到
plt.close(图)
plt.show()
没有任何关联。然而,当我使用
plt.draw()
时,
plt.close(图)
正在关闭图形。然而,当我在程序中添加
raw_输入(“按任意键继续”)
时,图形根本不会出现

我做错了什么


我也尝试过使用
plt.ion()
,但没有成功。

类似的东西可能

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)


fig = plt.figure()
plt.plot(t,s)
#plt.show()
plt.draw()
plt.pause(1) # <-------
raw_input("<Hit Enter To Close>")
plt.close(fig)
将numpy导入为np
将matplotlib.pyplot作为plt导入
t=np.arange(0.0,2.0,0.01)
s=np.sin(2*np.pi*t)
图=plt.图()
平面图(t,s)
#plt.show()
plt.draw()

plt.pause(1)#我认为使用
plt.waitforbuttonpress(0)
可以解决使用
raw\u input()的技巧:


@鲍里斯。然后请考虑将Joran的解决方案标记为“答案”。@ JoranBeasley,情节窗口在后台弹出。我需要使用鼠标单击并查看绘图。绘图不能到前面来,只需按
Enter
q
我就可以关闭它(就像我们对gnuplot所做的那样)?如果我们有一些非零的时间数字,这是有效的:
plt.waitforbuttonpress(1)
。有了零,它就一直在等待。。而且不起作用。。对我有效的是:
plt.waitforbuttonpress(1);输入();plt.关闭(图)
import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)

fig = plt.figure()
plt.plot(t,s)
plt.draw()
plt.waitforbuttonpress(0) # this will wait for indefinite time
plt.close(fig)