您的位置:首页 > 文旅 > 美景 > 湖北省招投标交易云平台_镇江网站优化推广_关键词全网指数查询_淘宝指数入口

湖北省招投标交易云平台_镇江网站优化推广_关键词全网指数查询_淘宝指数入口

2025/4/3 16:28:05 来源:https://blog.csdn.net/qlkaicx/article/details/146767972  浏览:    关键词:湖北省招投标交易云平台_镇江网站优化推广_关键词全网指数查询_淘宝指数入口
湖北省招投标交易云平台_镇江网站优化推广_关键词全网指数查询_淘宝指数入口

你这个问题本质是:

在运行 plt.show() 时,程序会等待你手动关闭图片窗口才能继续往下执行。

这其实是 matplotlib 的默认行为 —— 它会弹出一个交互式窗口让你“看完图再走”。


✅ 为什么会这样?

你在程序中使用了:

import matplotlib
matplotlib.use('TkAgg')

然后绘图后使用了:

plt.show()

这两个配合起来,会打开一个交互式窗口,阻塞主线程,直到你手动关闭它,所以程序最后会“卡住”。


✅ 解决方案(根据你的需求选)


✅ 方法1:不显示图,只保存图像

如果你只是想保存图,不需要弹窗看图,你可以干脆 删掉或注释掉所有 plt.show()

# plt.show()  # 不再弹窗

你已经使用 plt.savefig() 保存图像了,plt.show() 只是让你看图的,不必须!


✅ 方法2:保存图并关闭窗口(不等待)

如果你想保存 + 自动关闭,也可以在 plt.savefig() 后调用:

plt.close()

比如改成这样:

plt.savefig('ROC-figure')
plt.close()

这会把图保存后立刻关掉,程序不会等你点“×”。


✅ 方法3:切换为非交互式后端

如果你不想看到弹窗,又懒得删 plt.show(),也可以一开始切换为非交互式后端,例如用 Agg

import matplotlib
matplotlib.use('Agg')

这会告诉 matplotlib 用“纯保存不弹窗”的方式绘图(适合服务器、自动化训练场景)。


✅ 推荐你这样修改前几行代码

import matplotlib
matplotlib.use('Agg')  # 改成非交互式后端
import matplotlib.pyplot as plt

然后在绘图代码后这样写:

plt.savefig('some_figure.png')
plt.close()

这样你的程序不会“卡住等你关图”,执行完会自动退出 ✔️


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com