如何让matplotlib正常工作

时间:2013-09-06 02:28:39

标签: python-2.7 matplotlib nltk

最近我正在学习在Windows 7上使用nltk。我为Python 2.7安装了Python2.7和NumPy1.6.2以及matplotlib 1.3.0。但是,当我尝试运行以下代码时,它将无法正常工作(第一行正常工作):

from nltk.book import *
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

该代码来自使用Python进行自然语言处理一书。错误信息如下:

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
  File "D:\Program Files\Python27\lib\site-packages\nltk\text.py", line 456, in dispersion_plot
    dispersion_plot(self, words)
  File "D:\Program Files\Python27\lib\site-packages\nltk\draw\dispersion.py", line 27, in dispersion_plot
    raise ValueError('The plot function requires the matplotlib package (aka pylab).'
ValueError: The plot function requires the matplotlib package (aka pylab).See http://matplotlib.sourceforge.net/

如何让它正常工作?非常感谢。

5 个答案:

答案 0 :(得分:2)

如果您必须使用Python 2.7或更高版本,则此答案不适合您。我在Python 2.7中得到了相同的错误消息。

nltk book假设您运行的是Python 2.4或2.5。尝试安装Python 2.5和packages/libs for Python 2.5 ,如下所示。正如nltk所建议的那样,请避免使用64位版本。

  1. 安装Python 2.5.4:www.python.org/ftp/python/2.5.4 /
  2. 安装Numpy-1.7.1:sourceforge.net/projects/numpy/files/NumPy/1.7.1
  3. 安装NLTK 2.0.4:pypi.python.org/pypi/nltk
  4. 安装PyYAML 3.10:pyyaml.org/wiki/PyYAML
  5. 测试安装:开始&gt; Python25,然后输入import nltk
  6. 安装Matplotlib:www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
  7. &GT;&GT;&GT; import matplotlib
  8. 再次尝试该示例,它应该可以工作。

答案 1 :(得分:1)

我也遇到了这个问题,我首先应该安装依赖项。(我使用的是python 2.7 64bit)

以下是您可以在Windows上安装的程序列表:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

并且您需要以下依赖项:需要numpy,dateutil,pytz,pyparsing,six

答案 2 :(得分:0)

安装matplotlib-1.1.0,而不是最新版本。问题将得到解决。

答案 3 :(得分:0)

Python 2.7的解决方案

from nltk.book import *
import matplotlib as mpl
mpl.use('TkAgg')
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

TkAgg需要TkInter。 Here更多关于matplotlib可以使用的后端。

答案 4 :(得分:0)

这个问题很老,但这也许可以帮助任何不熟悉Python的人(也许他们第一次使用该语言是通过NLTK书?)。

我遇到了同样的错误,意识到我只需要安装这些库即可。

首先,如果您仍然在exit()提示符下,请使用>>>命令退出python解释器。然后运行pip install matplotlib,这将触发软件包及其依赖项的下载(即使您没有NumPy,在NLTK安装说明页面中也建议使用NumPy)。

完成后,再次启动python解释器(使用pythonidle,无论您之前使用过什么命令启动它),再次运行from nltk.book import *,等待列表结束完成,然后再次尝试text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])命令。现在应该可以了!

注意:Pip是通常推荐的Python软件包安装程序,您可以使用它轻松地从Internet或本地.whl(“ wheel”)文件安装软件包。