plot() doesn't work on IPython notebook

12,523

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:

  1. It is irreversible- Cannot unimport
  2. Unclear- if someone else did not run with this flag (or with a different setting of it) what would happen?
  3. Pollutes the namespace
  4. Replaces built-ins
  5. 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
Share:
12,523

Related videos on Youtube

mako
Author by

mako

Updated on May 25, 2022

Comments

  • mako
    mako almost 2 years

    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.

    • Kobi K
      Kobi K about 10 years
      Plotting example here
  • Bas Swinckels
    Bas Swinckels about 10 years
    %matplotlib inline gives me a ERROR: Magic function matplotlib not found, both in ipython qtconsole and ipython notebook.
  • Nipun Batra
    Nipun Batra about 10 years
  • Nipun Batra
    Nipun Batra about 10 years
    Should work if the IPython version is 1+. If you just run ipython on your shell- what version number does it show?
  • Bas Swinckels
    Bas Swinckels about 10 years
    IPython 0.12.1 on Ubuntu 12.04, that might explain the error. Time for an upgrade, I guess. Thanks for the advice.
  • Nipun Batra
    Nipun Batra about 10 years
    great..Till then you can work around with pylab as I have put in the answer above.