Я новичок в tkinter и узнаю, как встраивать свою волновую анимацию в окно tkinter, чтобы украсить окно моего проекта. И когда я запускаю код, он показывает AttributeError: 'FigureCanvasTkAgg' object has no attribute 'show'
. Небольшая помощь будет очень признателен.
import tkinter as tk
from tkinter import *
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
root = tk.Tk()
root.title("Example")
operator=""
canvas = tk.Canvas(root, height=400,width=500,bg="White")
canvas.pack()
frame=tk.Frame(root, bg="Light Blue")
frame.place(relwidth=0.9,relheight=0.9, relx=0.05, rely=0.05)
fig= Figure(figsize=(4, 3), dpi=100)
#fig.plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
def init():
line.set_data([], [])
return line,
def animate(i):
x = np.linspace(0, 2, 100)
y = np.sin(2 * np.pi * (x - 0.01 * i))
line.set_data(x, y)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
canvas1 = FigureCanvasTkAgg(fig, root)
canvas1.show()
canvas1.get_tk_widget().pack(side=BOTTOM, fill=BOTH, expand=True)
root.mainloop()