gpt4 book ai didi

尝试使用 matplotlib 保存图像时 Python tkinter 卡住

转载 作者:行者123 更新时间:2023-12-01 05:37:58 25 4
gpt4 key购买 nike

我有一个基本的 tkinter GUI 正在运行,有一些输入和一个提交按钮。当点击提交按钮时,会创建一些数据,并且应该生成/保存绘图:

import matplotlib.pyplot as plt
plt.plot(x1,y1,'go',x2,y2,'bo')
plt.savefig(filename)
plt.clf()

绘图不需要用matplotlib显示;它只需要保存。但是,当到达此行时,我的 tkinter GUI 卡住了:

plt.plot(x1,y1,'go',x2,y2,'bo')

此时会弹出另一个 tkinter 窗口(一个标题为“tk”的空白灰色窗口)。看来 matplotlib 正在以某种方式干扰 tkinter。但我不需要 matplotlib 打开一个窗口(只需要保存一个图),所以我有点困惑为什么会发生这种情况。

(顺便说一句,我有两个线程正在运行(一个更新进度条,另一个执行一些计算),尽管我很确定这不会影响任何事情)。

最佳答案

您有多个正在运行的主事件循环,它们相互干扰。要么在你的 gui 中正确嵌入 matplotlib ( examples ),要么使用非交互式后端:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot(x1,y1,'go',x2,y2,'bo')
plt.savefig(filename)
plt.clf()

当您导入pyplot时,您正在导入大量说服函数(请参阅Which is the recommended way to plot: matplotlib or pylab?),其中包括用于交互式tok的GUI系统

关于尝试使用 matplotlib 保存图像时 Python tkinter 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18452674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com