AttributeError:'module'对象没有属性

gea*_*ead 12 python python-2.7

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

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

import matplotlib
...
...

class xyz:
    def function_A(self,...)
        ...
        ...
        fig1 = matplotlib.figure()
        ...
        ...
Run Code Online (Sandbox Code Playgroud)

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

AttributeError: 'module' object has no attribute 'figure'
Run Code Online (Sandbox Code Playgroud)

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

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

任何帮助表示赞赏!

DSM*_*DSM 22

我认为你是对的,这是一个进口问题.该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'
Run Code Online (Sandbox Code Playgroud)

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

>>> import matplotlib.pyplot as plt
>>> plt.figure
<function figure at 0xb2041ec>
Run Code Online (Sandbox Code Playgroud)

坚持这种习惯可能是一个好主意,因为它可以在Web上找到的大多数示例中使用,例如matplotlib库中的示例.(当我需要弄清楚如何做某事时,画廊仍然是我去的第一个地方:我找到一个看起来像我想要的图像,然后查看代码.)

  • 耶稣基督,我是个白痴.我的其他代码正确导入模块.谢谢您的帮助. (5认同)