sixtyfourbit wrote: > I'm in the first chapter of Natural Language Processing with Python and am > trying to run the example .dispersion_plot. I am using Python 2.7.4 > (Anaconda) on Mac OSX 10.8. > > When I load all of the necessary modules and try to create the dispersion > plott, I get no return - no plot, no error message, not even a new >>> > prompt, just a blinking cursor under the last line I typed. Here is what > I've been doing: > > [~]: python > Python 2.7.4 |Anaconda 1.5.1 (x86_64)| (default, May 9 2013, 12:12:00) > [GCC 4.0.1 (Apple Inc. build 5493)] on darwin > Type "help", "copyright", "credits" or "license" for more information. >>>> import numpy >>>> import matplotlib >>>> import nltk >>>> from nltk.book import * > *** Introductory Examples for the NLTK Book *** > Loading text1, ..., text9 and sent1, ..., sent9 > Type the name of the text or sentence to view it. > Type: 'texts()' or 'sents()' to list the materials. > text1: Moby Dick by Herman Melville 1851 > text2: Sense and Sensibility by Jane Austen 1811 > text3: The Book of Genesis > text4: Inaugural Address Corpus > text5: Chat Corpus > text6: Monty Python and the Holy Grail > text7: Wall Street Journal > text8: Personals Corpus > text9: The Man Who Was Thursday by G . K . Chesterton 1908 >>>> text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", >>>> "America"]) > > ...and nothing. I can't paste it but my cursor is just blinking under my > last command with no prompt. So far the other example commands from the > chapter (e.g. .concordance) work fine, so I'm guessing the problem is > something with numpy or matplotlib. I had a heck of a time getting > matplotlib installed correctly (kept getting errors saying that it wasn't > installed even when I had installed it), but since switching to the > Anaconda distro, which had those prepackaged, I haven't gotten any module > errors. > > Any advice??
The dispersion_plot() method uses pylab.show() to display the data (in another window). Only when you close that window the interactive interpreter becomes responsive again. If you didn't overlook that window: do you run into the same problem with >>> import pylab >>> pylab.plot([1, 2, 3], [3, 1, 2]) [<matplotlib.lines.Line2D object at 0x2d713d0>] >>> pylab.show() ? If so, choose another backend. I've not tried, but it seems straight- forward, see <http://matplotlib.org/faq/usage_faq.html#what-is-a-backend> -- http://mail.python.org/mailman/listinfo/python-list