Как встроить анимацию matplotlib в окно tkinter? - PullRequest
0 голосов
/ 26 января 2020

Я новичок в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...