小编Den*_*nis的帖子

如何在 tkinter 中更新由 matplotlib 创建的图形

我有一个使用 tkinter 创建的应用程序。只有一个窗口,我可以在其中输入 X 和 Y。有了这些 x 和 y,我的应用程序应该使用 matplotlib 创建一个图形。

第一次可以正常工作,但其他时候则不行。我的意思是,我打开应用程序,输入 X 和 Y,单击按钮,应用程序创建图形,然后我输入新的 X 和 Y,单击按钮,这不起作用,图形是相同的,不是新的。我搜索了很多网站,但没有一个解决方案有效。

部分代码如下所示:

from tkinter import *
import matplotlib

import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.figure import Figure


window_width = 1000
window_height = 600
root = Tk()

global_fig = None


def create_draw(x_dots, y_dots):
    global global_fig
    if global_fig is not None:
        global_fig.clf()

    global_fig = Figure(figsize=(5, 4), dpi=100)

    global_fig.add_subplot(111).plot(x_dots, y_dots)

    canvas = FigureCanvasTkAgg(global_fig, master=root)  # A tk.DrawingArea.
    canvas.draw()
    canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)

    toolbar …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib graph-drawing

2
推荐指数
1
解决办法
3787
查看次数

标签 统计

graph-drawing ×1

matplotlib ×1

python ×1

tkinter ×1