我实际上将堆叠的条形图和线形图绘制在一起,但为了简化代码,我只显示了一个简单的条形图。
from tkinter import *
import matplotlib.pyplot as plt
window = Tk()
fig, ax = plt.subplots()
name = ['a', 'b', 'c']
score = [1, 2, 3]
ax.bar(name, score)
plt.savefig('Figure1.png')
window.mainloop()
代码本身运行良好,问题是当我退出tkinter GUI时,程序没有完全关闭,如powershell中所示
PS C:\Users\Desktop> python temp.py
|
在没有绘图的情况下,退出tkinter GUI后将如下所示
PS C:\Users\Desktop> python temp.py
PS C:\Users\Desktop> |
我相信在tkinter中绘制图形后,我需要一些额外的闭合代码?
发布于 2020-07-07 02:27:21
您还需要关闭该图。将一个函数绑定到WM_DELETE_WINDOW
协议,并关闭函数内部的图形:
...
def on_quit():
plt.close('all')
window.destroy()
window.protocol('WM_DELETE_WINDOW', on_quit)
window.mainloop()
https://stackoverflow.com/questions/62767051
复制