属性错误:';numpy.ndarray和#x27;对象没有属性'_持有';

属性错误:';numpy.ndarray和#x27;对象没有属性'_持有';,numpy,python-3.x,matplotlib,Numpy,Python 3.x,Matplotlib,我正在Python3中使用numpy和matplotlib。 以下代码导致错误: import matplotlib from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure from matplotlib.axes import Subplot as plt from matplotlib import pylab

我正在Python3中使用numpy和matplotlib。
以下代码导致错误:

import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.axes import Subplot as plt
from matplotlib import pylab


 a=[1,1]
 b=[1,1]
 fsam = 48000         
 w, h = freqz(b, a, worN=2000)
 plt.plot(((fsam-8000) * 0.5 / np.pi) * w, abs(h), label=" ")   
matplotlib 1.3.x的实际错误:

 File "/usr/local/lib/python3.2/dist-packages/matplotlib-1.3.x-py3.2-linux-x86_64.egg/matplotlib/axes.py", line 4119, in plot   
     if not self._hold:   
AttributeError: 'numpy.ndarray' object has no attribute '_hold'   
matplotlib 1.2.0的实际错误:

 Traceback (most recent call last):   
   File "/home/christoph/audio_measurement/AudioTools/AudioTools.py", line 222, in <module>   
       main()   
     File "/home/christoph/audio_measurement/AudioTools/AudioTools.py", line 216, in main   
       form = AppForm()   
     File "/home/christoph/audio_measurement/AudioTools/AudioTools.py", line 39, in __init__   
       self.on_draw()   
     File "/home/christoph/audio_measurement/AudioTools/AudioTools.py", line 80, in on_draw   
       self.transfer = Transfer(self.canvas)   
     File "/home/christoph/audio_measurement/AudioTools/Transfer.py", line 42, in __init__   
       plt.plot(((fsam-8000) * 0.5 / np.pi) * w, abs(h), label=" ")   
     File "/usr/local/lib/python3.2/dist-packages/matplotlib/axes.py", line 3995, in plot   
       if not self._hold: self.cla()   
AttributeError: 'numpy.ndarray' object has no attribute '_hold'   
回溯(最近一次呼叫最后一次):
文件“/home/christoph/audio_measurement/AudioTools/AudioTools.py”,第222行,在
main()
文件“/home/christoph/audio_measurement/AudioTools/AudioTools.py”,第216行,主文件
form=AppForm()
文件“/home/christoph/audio\u measurement/AudioTools/AudioTools.py”,第39行,在
self.on_draw()
文件“/home/christoph/audio\u measurement/AudioTools/AudioTools.py”,第80行,在绘图中
self.transfer=transfer(self.canvas)
文件“/home/christoph/audio\u measurement/AudioTools/Transfer.py”,第42行,在
平面图(((fsam-8000)*0.5/np.pi)*w,abs(h),标签=”)
文件“/usr/local/lib/python3.2/dist packages/matplotlib/axes.py”,第3995行,在绘图中
如果不是self._hold:self.cla()
AttributeError:'numpy.ndarray'对象没有属性'\u hold'
Transfer是绘制到画布上的类

我查看了系数a和b的长度,但它们并不影响结果。

我在那上面找不到任何东西。有人知道出了什么问题吗?

通常我会使用
导入matplotlib.pyplot作为plt
plt.plot
plt.subplot
plt.show
等一起使用,甚至只是从pylab导入*中使用
。不管怎样,这条线

from matplotlib.axes import Subplot as plt
是您有一个未绑定的
plot
函数试图对
ndarray
参数进行操作的原因<代码>子批次
需要实例化。这应该起作用:

import numpy as np
from scipy.signal import freqz

import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.axes import Subplot

fig = Figure()
ax = Subplot(fig, 111)
fig.add_subplot(ax)
canvas = FigureCanvas(fig)

a=[1,1]
b=[1,1]
fsam = 48000         
w, h = freqz(b, a, worN=2000)

ax.plot(((fsam-8000) * 0.5 / np.pi) * w, abs(h), label=" ")
canvas.show()

还没有,将执行并报告…matplotlib 1.2.0的类似结果从matplotlib导入轴,图
>>打印(键入(axes.axes(figure.figure(),[0]*4))
打印(str(plt.gca()),键入(plt.gca())
我有错误
文件“/home/christoph/audio\u measurement/AudioTools/Transfer.py”,第59行,在self.figure.Axes.get\xaxis(self.Transfer)中。设置可见(False)属性错误:“figure”对象没有属性“Axes”