怎么在tkinter窗口界面中设置用plt画出的图
时间: 2023-12-27 22:03:34 浏览: 48
在Tkinter窗口界面中显示用matplotlib绘制的图,可以使用Tkinter的Canvas小部件来实现。具体步骤如下:
1. 在Tkinter窗口界面中创建一个Canvas小部件,用来显示matplotlib绘制的图形。
2. 在Canvas小部件中创建一个FigureCanvasTkAgg对象,该对象用于将matplotlib图形显示在Canvas小部件中。
3. 使用matplotlib绘制图形,并将绘制的图形对象传递给FigureCanvasTkAgg对象。
4. 将FigureCanvasTkAgg对象添加到Canvas小部件中,并调用Canvas小部件的pack()方法或grid()方法来显示图形。
下面是一个简单的示例代码,演示了如何在Tkinter窗口界面中显示用matplotlib绘制的图形:
``` python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
# 创建Tkinter窗口界面
root = tk.Tk()
root.title("Matplotlib in Tkinter")
# 创建Canvas小部件,用于显示matplotlib绘制的图形
canvas = tk.Canvas(root, width=400, height=300)
canvas.pack()
# 创建一个Matplotlib图形对象
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
# 使用Matplotlib绘制图形
x = np.arange(0, 10, 0.1)
y = np.sin(x)
ax.plot(x, y)
# 创建一个FigureCanvasTkAgg对象,用于将Matplotlib图形显示在Canvas小部件中
canvas_widget = FigureCanvasTkAgg(fig, canvas)
canvas_widget.draw()
# 将FigureCanvasTkAgg对象添加到Canvas小部件中并显示图形
canvas_widget.get_tk_widget().pack()
# 进入Tkinter事件循环
tk.mainloop()
```
在这个示例代码中,我们创建了一个Tkinter窗口界面,并在其中创建了一个Canvas小部件用于显示图形。接着,我们创建了一个Matplotlib图形对象,绘制了一条正弦曲线。然后,我们创建了一个FigureCanvasTkAgg对象,将Matplotlib图形显示在Canvas小部件中,并将FigureCanvasTkAgg对象添加到Canvas小部件中。最后,我们进入了Tkinter事件循环,等待用户交互。运行这个代码,将会在Tkinter窗口界面中显示一条正弦曲线。