python - 程序结束后保持 matplotlib 图形打开

标签 python linux matplotlib workflow

是否可以运行生成一个(或多个)图形的 Python 代码并保持这些图形打开,即使在程序结束后也是如此?

目前,当我在代码末尾使用 show() 时,程序执行 $ python somecode.py 会停止,直到我关闭图形(或图形) .从而使终端无法使用。

我是否需要为每个图形分配不同的作业 ID,以便图形与主程序分开运行?如果是这样,我怎样才能做到这一点?

当一个人想要使用不同的输入执行有限次数的程序并且不想将每个结果图形存储为(单独的)文件时,这种需求就变得很明显。这对于进行快速比较很方便。

一个明显的解决方案是在单独的终端 session 中运行该程序。

最佳答案

不确定这是否是您想要的,但您当然可以使用 & 在您的终端中将 python 作为后台进程启动。

像这样:

$ python somecode.py &
$ ...         # control is returned here immediately

它将在后台启动 python 并立即将控制权返回给终端。一段时间后,绘图窗口将出现而不会阻塞终端。您可以通过这种方式触发 python 的多个实例,从而同时打开多个绘图窗口,同时保持终端可用。

请注意,您还可以在进程启动后将其移至后台。之后

$ python somecode.py

终端被阻止,但您可以在终端中按 ctrl-z 然后按 bg 将进程转为后台进程。

这当然是一般的 shell 功能,与 Python 无关。

关于python - 程序结束后保持 matplotlib 图形打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319060/

相关文章:

python - Django、m2m 具有相同型号

linux - 在 cygwin 下运行 Cronjob

regex - 如何在 awk 中提取除环回之外的所有 ifconfig 数据

python - matplotlib 具有共享轴的子图

matplotlib - Jupyter 笔记本 : automatically saves all images

python - networkx 与 matplotlib 的交互

python - AWS API 网关、Python Lambda 和 HTTP 状态

python - 如何使用 Selenium Python 单击 https ://www. tempinbox.xyz/mailbox/username@domain.name 中的验证消息和按钮

python - 将悬停工具标签添加到 Bokeh 中的跨度?

java - Tomcat 托管的 Web 应用程序链接在 Linux 中不起作用