Importing pyplot in a Jupyter Notebook
Question: Running Python 2.7 and trying to get plotting to work the tutorials recommend
the below command.

    
    
    from matplotlib import pyplot as plt
    

Works fine when run from the command line

    
    
    python -c "from matplotlib import pyplot as plt"
    

but I get an error when trying to run it inside a Jupyter Notebook.

    
    
    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    <ipython-input-21-1d1446f6fa64> in <module>()
    ----> 1 from matplotlib import pyplot as plt
    
    /usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py in <module>()
        112 
        113 from matplotlib.backends import pylab_setup
    --> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
        115 
        116 _IP_REGISTERED = None
    
    /usr/local/lib/python2.7/dist-packages/matplotlib/backends/__init__.pyc in pylab_setup()
         30     # imports. 0 means only perform absolute imports.
         31     backend_mod = __import__(backend_name,
    ---> 32                              globals(),locals(),[backend_name],0)
         33 
         34     # Things we pull in from all backends
    
    /usr/local/lib/python2.7/dist-packages/ipykernel/pylab/backend_inline.py in <module>()
        154         configure_inline_support(ip, backend)
        155 
    --> 156 _enable_matplotlib_integration()
    
    /usr/local/lib/python2.7/dist-packages/ipykernel/pylab/backend_inline.py in _enable_matplotlib_integration()
        152     backend = get_backend()
        153     if ip and backend == 'module://%s' % __name__:
    --> 154         configure_inline_support(ip, backend)
        155 
        156 _enable_matplotlib_integration()
    
    /usr/local/lib/python2.7/dist-packages/IPython/core/pylabtools.pyc in configure_inline_support(shell, backend)
        359     except ImportError:
        360         return
    --> 361     from matplotlib import pyplot
        362 
        363     cfg = InlineBackend.instance(parent=shell)
    
    ImportError: cannot import name pyplot
    

The following command works

    
    
    import matplotlib
    

But the following gives me a similar error

    
    
    import matplotlib.pyplot
    


Answer: You can also use the `%matplotlib inline` magic, but it has to be preceded by
the pure `%matplotlib` line:

**Works (figures in new window)**

    
    
    %matplotlib
    import matplotlib.pyplot as plt
    

**Works (inline figures)**

    
    
    %matplotlib
    %matplotlib inline
    import matplotlib.pyplot as plt
    

**Does not work**

    
    
    %matplotlib inline
    import matplotlib.pyplot as plt
    

Also: [Failure to import matplotlib.pyplot in jupyter (but not
ipython)](http://stackoverflow.com/questions/38838914/failure-to-import-
matplotlib-pyplot-in-jupyter-but-not-ipython) seems to be the same issue. It
looks like a recently introduced bug in the ipykernel. Maybe someone mark this
or the other question as duplicate, thx.

