如何关闭所有pyplot窗口(包括以前脚本执行中的窗口)?

Ron*_*son 11 python matplotlib pycharm

所以我有一些python代码使用pyplot绘制一些图形.每次运行脚本时都会创建新的绘图窗口,我必须手动关闭.如何在脚本开头关闭所有打开的pyplot窗口?IE浏览器.关闭在以前执行脚本期间打开的窗口?

在MatLab中,这可以简单地通过使用来完成closeall.

jak*_*vdp 11

要关闭脚本中所有打开的数字,您可以致电

plt.close('all')
Run Code Online (Sandbox Code Playgroud)

或者您可以终止关联的Python进程.

  • 这并没有关闭以前执行脚本时打开的数字,这是我需要的. (5认同)

Ian*_*uza 9

此解决方案不允许您关闭以前运行的图,但会阻止您将它们保持打开状态!

我发现关闭这些“挂起”的数字的唯一方法是找到进程并杀死。

以非阻塞方式绘制然后请求输入。这应该可以防止您忘记正确关闭绘图。

plt.show(block=False)
plt.pause(0.001) # Pause for interval seconds.
input("hit[enter] to end.")
plt.close('all') # all open plots are correctly closed after each run
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 7

import matplotlib.pyplot as plt
plt.close("all")
Run Code Online (Sandbox Code Playgroud)

(如果您已经导入了 pyplot,显然不需要再次导入它。在这种情况下,只需确保将其替换为plt导入plt.close("all")时为 pyplot 选择的任何别名即可。)


小智 -5

在 *nix 上您可以使用killall命令。

killall app

关闭以 app 为窗口名称的窗口的每个实例。您还可以在 python 脚本中使用相同的命令。
您可以使用os.system("bashcommand")bash 命令来运行。