怎么在tkinter窗口界面中显示用plt画出的图
时间: 2023-12-27 19:03:26 浏览: 44
要在Tkinter窗口界面中显示用Matplotlib绘制的图,可以使用Matplotlib的TkAgg后端。具体步骤如下:
1. 导入Tkinter和Matplotlib的相关模块。
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
```
2. 创建Tkinter窗口和Matplotlib图形对象。
```python
root = tk.Tk()
fig = Figure(figsize=(5, 4), dpi=100)
```
3. 在Matplotlib图形对象中绘制图形。
```python
ax = fig.add_subplot(111)
ax.plot([1, 2, 3, 4, 5, 6, 7, 8], [5, 6, 3, 8, 5, 6, 7, 2])
```
4. 创建Matplotlib的TkAgg绘图画布对象,并将其添加到Tkinter窗口中。
```python
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
```
完整代码如下:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
root = tk.Tk()
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
ax.plot([1, 2, 3, 4, 5, 6, 7, 8], [5, 6, 3, 8, 5, 6, 7, 2])
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
tk.mainloop()
```
运行上面的代码,就可以在Tkinter窗口中显示绘制的图形了。