我使用Pylab在Python中生成了一个绘图:
pylab.plot(x, y)
pylab.show()
但是现在脚本在完成时似乎会阻塞。当我用 CTRL + C 打破它时,脚本结束,关闭绘图窗口。我怎么能告诉Python不要阻止?
答案 0 :(得分:1)
您希望程序结束(不阻塞,将控制权返回到终端)并保持绘图窗口打开吗?
如果是这样,并且如果使用unix,则可以派生子进程,并使用os.setsid与子进程建立一个新会话作为会话负责人:
import matplotlib.pyplot as plt
import numpy as np
import os
pi = np.pi
arctan = np.arctan
if os.fork():
# Parent
pass
else:
# Child
os.setsid()
x = np.linspace(-10,10,100)
plt.plot(x,arctan(x))
plt.show()
答案 1 :(得分:1)
你应该使用plt.ion()(打开交互模式) 以后plt.draw()如果需要的话。 plt是matplotlib.pyplot(我认为通过pylab也可以看到。*)
答案 2 :(得分:0)
我同意sega_sai的回答。然而,(至少我所看到的是)有时候在显示情节之后,它会进入“无响应”模式,你只需要杀死这个过程。最好的选择(如果你已经安装了IPython)是使用“--pylab”选项(“ipython --pylab”)启动IPython。 [请注意我的经验是在Windows 7机器上。]