我使用 Pylab 在 Python 中生成了一个绘图:
pylab.plot(x, y)
pylab.show()
但是现在脚本在完成时似乎被阻止了。当我用CTRL+打破它时C,脚本结束,关闭绘图窗口。如何告诉 Python 不要阻塞?
我使用 Pylab 在 Python 中生成了一个绘图:
pylab.plot(x, y)
pylab.show()
但是现在脚本在完成时似乎被阻止了。当我用CTRL+打破它时C,脚本结束,关闭绘图窗口。如何告诉 Python 不要阻塞?
如果需要,您应该使用plt.ion()
(打开交互模式)和更高版本plt.draw()
。plt 是 matplotlib.pyplot (我认为通过 pylab 也可以看到。*)
您是否希望程序结束(不阻塞,将控制权返回给终端)并保持绘图窗口打开?
如果是这样,并且如果使用 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()
我同意 sega_sai 的回答。但是,(至少我所看到的是)有时在显示情节之后,它会进入“无响应”模式,无论如何你只需要终止该过程。最好的选择(如果您已经安装了 IPython)是使用“--pylab”选项(“ipython --pylab”)启动 IPython。[请注意,我的经验是在 Windows 7 机器上。]