Importing pyplot in a Jupyter Notebook

2019-07-08 09:42发布

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

1条回答
放我归山
2楼-- · 2019-07-08 09:56

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) 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.

查看更多
登录 后发表回答