我正在关注一个youtube教程,该教程显示了如何使用python可视化音频,并且在尝试执行与他编写的代码完全相同的代码时遇到了这个错误。
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.arange(0 , 2 * CHUNK, 2)
line, = ax.plot(x , np.random.rand(CHUNK))
while True:
data = stream.read(CHUNK)
data_int = np.array(struct.unpack(str(2 * CHUNK) + 'B', data), dtype = 'b' )[::2] + 127
line.set_ydata(data_int)
fig.canvas.draw()
fig.canvas.flush_events()
该代码应该输出一个随着我在麦克风上讲话而变化的图表,但是却出现了以下错误:
--------------------------------------------------------------------
-------
TclError Traceback (most recent call last)
<ipython-input-33-48f6f2f43ff3> in <module>
3 data_int = np.array(struct.unpack(str(2 * CHUNK) + 'B', data), dtype = 'b' )[::2] + 127
4 line.set_ydata(data_int)
----> 5 fig.canvas.draw()
/usr/local/lib/python3.6/dist-
packages/matplotlib/backends/backend_tkagg.py in draw(self)
8 def draw(self):
9 super(FigureCanvasTkAgg, self).draw()
---> 10 _backend_tk.blit(self._tkphoto, self.renderer._renderer, (0, 1, 2, 3))
11 self._master.update_idletasks()
12
/usr/local/lib/python3.6/dist-
packages/matplotlib/backends/_backend_tk.py in blit(photoimage, aggimage, offsets, bbox)
86 math.floor(y1), math.ceil(y2))
87 else:
---> 88 photoimage.blank()
89 bboxptr = (0, width, 0, height)
90 _tkagg.blit(
/usr/lib/python3.6/tkinter/__init__.py in blank(self)
3546 def blank(self):
3547 """Display a transparent image."""
-> 3548 self.tk.call(self.name, 'blank')
3549 def cget(self, option):
3550 """Return the value of OPTION."""
TclError: invalid command name "pyimage58"
我尝试谷歌搜索此错误,但仅显示“未找到匹配项”。好像以前没有人遇到此错误。如果有人帮助,那就太好了,我被困住了。
PS:这是我的第一个问题,如果我提出的问题不正确,请原谅。