【问题标题】:matplotlib has no attribute 'pyplot'matplotlib 没有属性“pyplot”
【发布时间】:2016-10-29 22:41:43
【问题描述】:

我可以导入 matplotlib,但是当我尝试运行以下命令时:

matplotlib.pyplot(x)

我明白了:

Traceback (most recent call last):
   File "<pyshell#31>", line 1, in <module>
       matplotlib.pyplot(x)
AttributeError: 'module' object has no attribute 'pyplot'

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    pyplotmatplotlib 的子模块,它不会通过简单的import matplotlib 导入。

    >>> import matplotlib
    >>> print matplotlib.pyplot
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'module' object has no attribute 'pyplot'
    >>> import matplotlib.pyplot
    >>> 
    

    似乎习惯了这样做:import matplotlib.pyplot as plt,此时你可以使用它包含的各种函数和类:

    p = plt.plot(...)
    

    【讨论】:

    • 最初试过这个,得到一个 ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_path.so, 2):没有找到合适的图片。确实找到了:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/m
    • 这看起来您的安装已损坏,不妨尝试重新安装。
    • 解决了.. 显然安装程序中的当前 matplotlib 版本与 64 位版本的 Python 不兼容,因此下载了 32 位版本并且现在可以完美运行。不过感谢您的帮助。
    • 我很高兴改进这个答案:-)。对问题发表评论,我会尽力解决它!
    【解决方案2】:

    你导入了吗?导入matplotlib 是不够的。

    >>> import matplotlib
    >>> matplotlib.pyplot
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'module' object has no attribute 'pyplot'
    

    但是

    >>> import matplotlib.pyplot
    >>> matplotlib.pyplot
    

    有效。

    pyplot 是 matplotlib 的子模块,在导入 matplotlib 时不会立即导入。

    pyplot最常见的导入形式是

    import matplotlib.pyplot as plt
    

    因此,您的陈述不会太长,例如

    plt.plot([1,2,3,4,5])
    

    而不是

    matplotlib.pyplot.plot([1,2,3,4,5])
    

    而且:pyplot 不是函数,而是模块!所以不要调用它,而是使用 inside 这个模块定义的函数。看我上面的例子

    【讨论】:

    • 试过了,这不是问题。解决了.. 显然安装程序中的当前 matplotlib 版本与 64 位版本的 Python 不兼容,因此下载了 32 位版本并且现在可以完美运行。不过感谢您的帮助。
    • 当然,请始终安装与您的解释器版本相对应的库版本...
    • 我对 pyplot 也有同样的问题。但是“将 matplotlib.pyplot 作为 plt 导入”仍然对我不起作用。我得到同样的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2018-04-29
    • 2021-01-25
    • 2018-08-15
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多