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

2024-06-05 10:14:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个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(fig)plt.show()没有任何关联。但是,当我使用plt.draw()代替时,plt.close(fig)正在关闭图形。然而,当我在程序中添加raw_input("PRESS ANY KEY TO CONTINUE.")时,这个数字根本就没有出现。

我做错什么了?

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


Tags: import程序图形closerawplotasshow
2条回答

我认为使用plt.waitforbuttonpress(0)可以解决使用raw_input()的技巧:

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)

也许是这样?

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)

相关问题 更多 >