Ich habe mein erstes Problem, wie man FuncAnimation von innerhalb einer Funktion mit Hilfe von this answer aufrufen, gelöst.Wie verweist man auf matplotlib.animation mit tk.button?
Die Antwort war ani
zurückzukehren und einen Verweis darauf in dem Code zu halten:
def a(...):
# stuff
ani = animation.FuncAnimation(...)
# more stuff
return ani
outer_ani = a(...)
In diesem Beispiel wird die Referenz sofort im Code ist, aber ich möchte auf einem, um es nach einem Klick auf Referenz tkinter.Button()
.
Wie könnte ich dieses Problem lösen? Diese Referenz in eine andere Funktion einfügen und diese mit der Schaltfläche aufrufen, funktioniert nicht.
Danke für Ihre Hilfe!
(Es tut mir leid für meine schrecklichen Englisch und meine dummen und vage Frage, aber ich weiß nicht, wie es deatailed zu beschreiben.)
Edit: Das ist mein (verkürzt, vereinfacht) Code :
root = tk.Tk()
def a():
fig = Figure(figsize=(4.1,8.2))
def init():
ax.set_ylim(-50, 50)
ax.set_xlim(-50, 50)
#more stuff
def update(f):
y=50-f
x=0
ln.set_xdata(x)
ln.set_ydata(y)
return ln,
diacan2 = FigureCanvasTkAgg(fig,master=root)
diacan2.get_tk_widget().place(x=680,y=20)
diacan2.show()
ax = fig.add_subplot(2,1,1)
bx = fig.add_subplot(2,1,2)
x, y = [], []
ln, = ax.plot([], [], 'ro', animated=True)
ani = animation.FuncAnimation(fig, update, init_func=init, frames=100, interval=30, blit=True, repeat=False)
##################################################
tk.Button(master=root, text="bla", command=a())
Ich habe Ihren Vorschlag (s) versucht, aber es funktioniert nicht. –