【问题标题】:Import Issue with Matplotlib and Pyplot (Python / Tkinter)Matplotlib 和 Pyplot (Python / Tkinter) 的导入问题
【发布时间】:2018-05-13 04:23:52
【问题描述】:

我遇到了一个问题,我无法调用“matplotlib”的“pyplot”元素。从下面的代码中您可以看到,我必须为 mattplotlib 元素添加一个“TkAgg”才能工作,这是一个常见问题。

import matplotlib
matplotlib.use("TkAgg")

但是,现在我无法将“.pyplot”添加到导入中。我尝试了以下方法:

import matplotlib.pyplot as plt
plt.use("TkAgg")

但这给了我错误:

AttributeError: 模块 'matplotlib.pyplot' 没有属性 'use'

我该如何解决这个问题,因为我的代码需要 pyplot 才能运行,但我无法弄清楚如何导入它,同时仍然必须使用 ".use("TkAgg")。

我正在运行 Python 3.6.2,并且正在使用 Tkinter 开发我的程序

【问题讨论】:

    标签: python python-3.x matplotlib tkinter python-import


    【解决方案1】:

    这是两个完全不同的东西。您导入 matplotlib 以便能够设置后端。然后你仍然需要导入pyplot 之后才能使用它。

    import matplotlib
    matplotlib.use("TkAgg")
    import matplotlib.pyplot as plt
    # ... rest of code
    

    【讨论】:

    • 好的,非常感谢@importanceofbeingernest 解决了这个问题。但是我现在收到一个错误“TypeError:只有长度为 1 的数组可以转换为 Python 标量”
    • 当然,您可能会因某些未在此处共享的代码而出错,并且无法帮助您处理未知代码。
    • 我知道,我不确定它是否与此相关。
    【解决方案2】:

    如果你使用 use() 函数,这必须在导入 matplotlib.pyplot 之前完成。 pyplot 导入后调用 use() 无效。

    import matplotlib
    matplotlib.use("TkAgg")
    import matplotlib.pyplot as plt
    

    检查:

    matplotlib.get_backend()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 2015-12-02
      • 2023-04-09
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      相关资源
      最近更新 更多