📅  最后修改于: 2023-12-03 14:52:35.284000             🧑  作者: Mango
在 Tkinter GUI 中嵌入 Matplotlib 图表是非常常见的任务,它可以使用户能够在 GUI 中直接查看数据,并与之交互,而不必打开另一个窗口。本文将介绍如何在 Tkinter GUI 中嵌入 Matplotlib 图表。
首先,我们需要确保已经正确地安装了 Matplotlib 库。我们可以在命令行中运行以下命令来安装 Matplotlib:
pip install matplotlib
我们需要导入的库包括:Tkinter、Matplotlib 和 numpy。我们可以按照以下方式导入库:
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
我们需要在 Tkinter GUI 上创建一个 Matplotlib 图表。以下是一个创建 GUI 窗口的基本示例:
root = tk.Tk()
root.title("Matplotlib Graph in Tkinter")
为了在 GUI 中显示 Matplotlib 图表,我们需要创建一个 Figure 对象,并为其添加一个 subplot。以下是代码:
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
我们需要生成一些示例数据并将其绘制到 Matplotlib 图表上。下面是一些示例代码:
data = np.random.normal(0, 1, size=50)
ax.plot(data, 'r-')
我们需要将 Matplotlib 图表嵌入到 Tkinter GUI 中,以便它可以在 GUI 中显示。以下是代码:
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
最后,我们需要运行 GUI 并显示 Matplotlib 图表。以下是完整的示例代码:
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
root = tk.Tk()
root.title("Matplotlib Graph in Tkinter")
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
data = np.random.normal(0, 1, size=50)
ax.plot(data, 'r-')
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
tk.mainloop()
在本文中,我们介绍了如何在 Tkinter GUI 中嵌入 Matplotlib 图表。通过这种方式,用户可以在 GUI 中方便地查看数据,并与之交互,而不必打开另一个窗口。