plot() doesn't work on IPython notebook

ipython, jupyter-notebook, matplotlib, python

Solution

It is not advisable to use `pylab` mode. See the following post from Matthias Bussonnier

A summary from that post:

Why not to use `pylab` flag:

- It is irreversible- Cannot unimport

- Unclear- if someone else did not run with this flag (or with a different setting of it) what would happen?

- Pollutes the namespace

- Replaces built-ins

- Side effects

You are much better by doing the following inside your IPython notebook.

%matplotlib inline

import matplotlib.pyplot as plt
plt.plot(range(10))

The following is the code which `--pylab` brings into the namespace

import numpy
import matplotlib
from matplotlib import pylab, mlab, pyplot
np = numpy
plt = pyplot

from IPython.core.pylabtools import figsize, getfigs

from pylab import *
from numpy import *

Still, if you wish to use `pylab` and have plots inline, you may do either of the following:

From shell:

$ ipython notebook --pylab inline

Or, from within your notebook

%pylab inline

Problem

I'm new to python scientific computing, and I tried to make a simple graph on IPython notebook. ``` import pandas plot(arange(10)) ``` Then error had shown as below. ``` --------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-2-6b139d572bd6> in <module>() 1 import pandas ----> 2 plot(arange(10)) NameError: name 'plot' is not defined ``` Instead, with IPython --pylab mode, a right graph popped up when I tried the same code. Am I missing any environment? My environment is Mac OSX 10.8.5, python 2.7.5, IPython 1.1.0, matplotlib 1.3.1, and pandas 0.12.0. I downloaded python scientific environment by Anaconda installer from continuum.io. Anaconda version is the newest one as of 1/30/2014.

Original source