Этот код не будет работать, и я понятия не имею, почему. Я довольно новичок в программировании и использую Mac, поэтому я немного знаю. Я читал, что это может быть backends of matplotlib, но все остальные статьи были неубедительными. Я хотел бы отобразить волну в графическом интерфейсе и хотел бы иметь возможность обновлять ее новыми данными.
Я пытался установить и удалить matplotlib, скачал Quartz11
import tkinter as tk
from tkinter import Frame, Label, Entry, Button
import pyaudio
from matplotlib.figure import Figure
import numpy as np
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.pyplot as plt
import matplotlib. animation as animation
def insert_number():
f=int(entry1.get())
t=float(entry2.get())
samples=(np.sin((f*2*np.pi*np.arange(fs*t)/(fs)).astype(np.float32)))
stream=p.open(format=pyaudio.paFloat32,
channels=1,
rate=fs,
output=True)
stream.write(volume*samples)
fig, ax = plt.subplots()
def dopp():
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin((x)/10))
def animate(i):
line.set_ydata(np.sin(f(x + i/10.0)))
return line,
def init():
line.set_ydata(np.ma.array(x, mask=True))
return line,
ani = animation.FuncAnimation(fig, animate, np.arange(1, 200), init_func=init,
interval=25, blit=True)
plt.show()
canvas = FigureCanvasTkAgg(fig, master=self.window)
canvas.get_tk_widget().pack()
canvas.draw()
start= mclass (window)
window.mainloop()
tk.mainloop()
button2 = tk.Button (root, text='Click to see Waves ',command=insert_number)
canvas1.create_window(97, 270, window=button2)`
Нетсообщения об ошибках, но я знаю, что-то не так. Я ценю любую помощь. Спасибо!