【问题标题】:Python: Imported matplotlib but cannot use imshowPython:导入 matplotlib 但不能使用 imshow
【发布时间】:2018-01-08 13:50:47
【问题描述】:

我在 Ubuntu 中作为 Windows 机器(作为主机)之上的 Virtual-Box 来宾工作,我正在尝试从终端运行我的 python 脚本。我在使用 pip install 安装 matplotlib 时遇到了困难。我设法安装它使用

sudo apt-get install python-matplotlib

但是,我无法调出我在代码中创建的图像:

import numpy as np 
import matplotlib.pyplot as plt
import random as random
from random import randrange


image = plt.imshow(mymatrix)
plt.show() 

如果我将 matplotlib 导入为:

import matplotlib as plt

我在尝试运行脚本时收到以下错误:

AttributeError: 'module' 对象没有属性 'imshow'

如果我将 matplotlib 导入为:

import matplotlib.pyplot as plt

我收到以下错误:

引发 ImportError, str(msg) + ',请安装 python-tk 包' ImportError:没有名为 _tkinter 的模块,请安装 python-tk 包

在尝试使用“pip install python-tk”安装 python-tk 时,我得到的是:

~/ising $ pip install python-tk 收集 python-tk 找不到 满足python-tk要求的版本(来自版本:) 没有找到与 python-tk 匹配的分布

我不确定我是否从一开始就错误地安装了 matplotlib。我知道 pyplot 不会使用 matplotlib 自动导入,从控制台安装它是否也是如此?似乎我在这个阶段已经尝试了一切。

【问题讨论】:

  • 你的问题不清楚,所以我会问以防万一:你是首先导入matplotlib然后然后调用imshow,对吧?
  • 是的。现在将编辑我的问题

标签: python python-2.7 ubuntu matplotlib


【解决方案1】:

问题似乎是您没有安装图形backend。你得到的关于 Python Tk 的错误正在发生,因为通常 Tk 随任何 Python 发行版一起提供,所以你应该至少有这个。您可以为 Tk、Pyqt4、Pyqt5、Wx、GTK(可能还有其他)安装任何 Python 绑定,以获得有效的交互式图形后端。检查软件包存储库以获取要安装的实际软件包名称。

请记住,像imshow 这样的函数是(子)包matplotlib.pyplot 的一部分,而不是matplotlib 本身。如果你打算做plt.imshow(...)import matplotlib as plt 是完全错误的。正确的导入是from matplotlib import pyplot as pltimport matplotlib.pyplot as plt

【讨论】:

    【解决方案2】:

    根据文档here 试试这个

     python -mpip install -U pip
     python -mpip install -U matplotlib
    

    【讨论】:

    • 我只在 windows 上测试 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2016-03-17
    • 2019-11-30
    • 2017-09-02
    • 1970-01-01
    相关资源
    最近更新 更多