У меня есть приложение, созданное с помощью 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 = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
root.update()
global_fig.canvas.draw()
root.mainloop()
смысл проблемы:
root.mainloop()
create_draw([3,4], [2,3])
после ввода я вижу график, затем я печатаю
create_draw([-1, -2], [-3, -4])
И я должен увидеть другой график, но я вижу старый график в tkinter.