把上面的图用tkinter显示
时间: 2023-07-22 09:29:10 浏览: 149
可以使用Tkinter中的Canvas对象来显示matplotlib绘制的图形。具体步骤如下:
1. 使用`FigureCanvasTkAgg`将matplotlib图形转换为Tkinter对象。
```python
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import tkinter as tk
# 绘制matplotlib图形
fig, ax = plt.subplots()
ax.pie([df1_left[0]/df1.left.count(),df1_left[1]/df1.left.count()],labels=['未离职','已离职'], autopct='%1.1f%%',shadow=True, startangle=90)
# 将matplotlib图形转换为Tkinter对象
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
```
2. 在Tkinter窗口中添加Canvas对象并显示。
```python
# 创建Tkinter窗口
root = tk.Tk()
# 在窗口中添加Canvas对象
canvas.get_tk_widget().pack()
# 显示窗口
root.mainloop()
```
完整代码如下所示:
```python
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import tkinter as tk
# 绘制matplotlib图形
fig, ax = plt.subplots()
ax.pie([df1_left[0]/df1.left.count(),df1_left[1]/df1.left.count()],labels=['未离职','已离职'], autopct='%1.1f%%',shadow=True, startangle=90)
# 创建Tkinter窗口
root = tk.Tk()
# 将matplotlib图形转换为Tkinter对象
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
# 在窗口中添加Canvas对象
canvas.get_tk_widget().pack()
# 显示窗口
root.mainloop()
```
运行这段代码,即可显示所绘制的饼图。
阅读全文