温馨提示×

使用Matplotlib如何创建一个动态调整大小的图表容器

小亿
99
2024-05-20 13:29:35
栏目: 编程语言

要创建一个动态调整大小的图表容器,您可以使用Matplotlib的Figure和Axes对象,并结合使用GUI库(如Tkinter)来实现动态调整大小的功能。

以下是一个使用Tkinter和Matplotlib创建一个动态调整大小的图表容器的示例代码:

import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

# 创建Tkinter窗口
root = tk.Tk()
root.title("Dynamic Resizing Plot")

# 创建Matplotlib的Figure对象
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
ax.plot([1, 2, 3, 4])

# 创建FigureCanvasTkAgg对象,并将其添加到Tkinter窗口中
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)

# 创建一个函数,用于动态调整图表容器的大小
def resize(event):
    fig.set_size_inches(event.width/100, event.height/100)
    canvas.draw()

# 绑定Tkinter窗口的resize事件
root.bind("<Configure>", resize)

# 运行Tkinter主循环
tk.mainloop()

运行上面的代码,将会创建一个Tkinter窗口,其中包含一个动态调整大小的Matplotlib图表容器。您可以拖动窗口的边缘来调整图表容器的大小,图表容器会动态调整并重新绘制图表。

0