Python:导入matplotlib但不能使用imshow

时间:2018-01-08 13:50:48

标签: python python-2.7 ubuntu matplotlib

我在Ubuntu中作为Windows机器(作为主机)的虚拟盒客户工作,我试图从终端运行我的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,从控制台安装它是否也是如此?好像我在这个阶段尝试了一切。

2 个答案:

答案 0 :(得分:1)

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

请注意,imshow等功能是(子)包matplotlib.pyplot的一部分,而不是matplotlib本身。如果您打算import matplotlib as plt,则plt.imshow(...)完全错误。正确的导入是from matplotlib import pyplot as pltimport matplotlib.pyplot as plt

答案 1 :(得分:0)

根据文档here试试这个

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