将matplotlib绘制的图形嵌入tkinter中并且实现动态刷新
时间: 2023-02-21 19:29:54 浏览: 181
jupyter notebook 实现matplotlib图动态刷新
使用 Matplotlib 绘制图形并嵌入 Tkinter 中,可以使用 `FigureCanvasTkAgg` 类。这个类可以将 Matplotlib 图形转换为 Tkinter 可用的图形,然后将其嵌入 Tkinter GUI 中。
实现动态刷新,可以在循环中不断地更新数据并重新绘制图形。
以下是一个示例代码:
```
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import tkinter as tk
root = tk.Tk()
root.title("Matplotlib in Tkinter")
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
def plot():
ax.clear()
ax.plot([1, 2, 3, 4, 5], [5, 4, 3, 2, 1], 'ro')
canvas.draw()
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
tk.Button(root, text="plot", command=plot).pack(side=tk.BOTTOM)
root.mainloop()
```
这段代码创建了一个 Tkinter 窗口,并在窗口中显示了一个由 Matplotlib 绘制的图形。当用户单击 "plot" 按钮时,该图形将被重新绘制。
阅读全文