📜  如何在 Tkinter GUI 中嵌入 Matplotlib 图表?(1)

📅  最后修改于: 2023-12-03 14:52:35.284000             🧑  作者: Mango

如何在 Tkinter GUI 中嵌入 Matplotlib 图表?

在 Tkinter GUI 中嵌入 Matplotlib 图表是非常常见的任务,它可以使用户能够在 GUI 中直接查看数据,并与之交互,而不必打开另一个窗口。本文将介绍如何在 Tkinter GUI 中嵌入 Matplotlib 图表。

准备

首先,我们需要确保已经正确地安装了 Matplotlib 库。我们可以在命令行中运行以下命令来安装 Matplotlib:

pip install matplotlib
实现
  1. 导入必要的库。

我们需要导入的库包括:Tkinter、Matplotlib 和 numpy。我们可以按照以下方式导入库:

import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
  1. 创建 Tkinter GUI。

我们需要在 Tkinter GUI 上创建一个 Matplotlib 图表。以下是一个创建 GUI 窗口的基本示例:

root = tk.Tk()
root.title("Matplotlib Graph in Tkinter")
  1. 创建 Matplotlib 图表。

为了在 GUI 中显示 Matplotlib 图表,我们需要创建一个 Figure 对象,并为其添加一个 subplot。以下是代码:

fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
  1. 生成数据并绘制图表。

我们需要生成一些示例数据并将其绘制到 Matplotlib 图表上。下面是一些示例代码:

data = np.random.normal(0, 1, size=50)
ax.plot(data, 'r-')
  1. 将 Matplotlib 图表嵌入到 Tkinter GUI 中。

我们需要将 Matplotlib 图表嵌入到 Tkinter GUI 中,以便它可以在 GUI 中显示。以下是代码:

canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
  1. 运行 GUI。

最后,我们需要运行 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 中方便地查看数据,并与之交互,而不必打开另一个窗口。