AttributeError:'module'对象没有属性

时间:2013-04-19 16:14:19

标签: python python-2.7

我已经看过这个主题的其他帖子,但没有找到明确的答案,尽管我确信它很简单。

我的代码具有以下结构......

import matplotlib
...
...

class xyz:
    def function_A(self,...)
        ...
        ...
        fig1 = matplotlib.figure()
        ...
        ...

我从'xyz'的实例调用'function_A',当我这样做时,我收到错误消息:

AttributeError: 'module' object has no attribute 'figure'

根据我读过的帖子,我导入matplotlib的方式似乎有问题,但我无法解决它。我已经尝试在Function_A定义中导​​入它(我认为这是不好的形式,但我想测试它),但我仍然是同样的错误。

我在其他地方使用了我的'function_A'代码没有问题,但它只是模块中的一个函数,而不是类中的方法。

感谢任何帮助!

1 个答案:

答案 0 :(得分:20)

我认为你是对的,这是一个进口问题。 matplotlib模块 figure函数:

>>> import matplotlib
>>> matplotlib.figure
Traceback (most recent call last):
  File "<ipython-input-130-82eb15b3daba>", line 1, in <module>
    matplotlib.figure
AttributeError: 'module' object has no attribute 'figure'

图形功能位于更深处。有几种方法可以将其拉入,但通常的导入看起来更像:

>>> import matplotlib.pyplot as plt
>>> plt.figure
<function figure at 0xb2041ec>

坚持使用此自定义可能是一个好主意,因为您可以在网络上找到大多数示例,例如matplotlib gallery中的示例。 (当我需要弄清楚如何做某事时,画廊仍然是我去的第一个地方:我找到一个看起来像我想要的图像,然后查看代码。)