9

Как сделать графики Matplotlib отображаемыми внутри IPython-ноутбука?

9

Я пытаюсь использовать IPython Notebook на MacOS X с Python 2.7.2 и IPython 1.1.0.

У меня не получается получить графику matplotlib встраиваемой в ноутбук.

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

Я также пробовал использовать %pylab inline и аргументы командной строки IPython --pylab=inline, но это не дало никаких результатов.

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

Вместо встроенной графики я получаю следующее:

<matplotlib.figure.Figure at 0x110b9c450>

Кроме того, команда matplotlib.get_backend() показывает, что у меня установлен бэкенд 'module://IPython.kernel.zmq.pylab.backend_inline'.

5 ответ(ов)

12

Вы используете %matplotlib inline в первой ячейке блокнота, и это действительно работает. Я рекомендую попробовать следующий код:

%matplotlib inline

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

Также вы можете настроить все свои IPython ядра для автоматического запуска в inline режиме по умолчанию, установив следующие параметры конфигурации в ваши конфигурационные файлы:

c.IPKernelApp.matplotlib=<CaselessStrEnum>
  Значение по умолчанию: None
  Доступные варианты: ['auto', 'gtk', 'gtk3', 'inline', 'nbagg', 'notebook', 'osx', 'qt', 'qt4', 'qt5', 'tk', 'wx']
  Настройте matplotlib для интерактивного использования с помощью стандартного бэкенда matplotlib.

Попробуйте эти рекомендации, и ваш график должен отобразиться корректно!

0

Вам следует использовать магическую команду %pylab inline в вашем Jupyter Notebook. Эта команда загружает необходимые библиотеки для работы с графиками и делает их отображение в самом блокноте. Вот как вы можете это сделать:

%pylab inline

После выполнения этой команды вы сможете создавать графики с помощью таких библиотек, как Matplotlib и NumPy, и они будут отображаться прямо под ячейкой вашего кода. Убедитесь, что у вас установлены все необходимые библиотеки, чтобы избежать ошибок.

0

Чтобы установить matplotlib в режим inline по умолчанию в Jupyter (IPython 3), выполните следующие шаги:

  1. Отредактируйте файл ~/.ipython/profile_default/ipython_config.py.
  2. Добавьте строку c.InteractiveShellApp.matplotlib = 'inline'.

Обратите внимание, что добавление этой строки в ipython_notebook_config.py не сработает. В остальном все должно корректно работать с Jupyter и IPython 3.1.0.

0

Я вынужден согласиться с foobarbecue (у меня недостаточно репутации, чтобы просто вставить комментарий под его постом):

Теперь рекомендуется не запускать Python-ноутбук с аргументом --pylab, и по словам Фернандо Переса (создателя ipythonnb) первоначальной командой в ноутбуке должно быть %matplotlib inline.

Смотрите здесь: http://nbviewer.ipython.org/github/ipython/ipython/blob/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb

0

Похоже, что у вас возникла проблема с тем, что matplotlib не отображает графики после установки Anaconda. Обычно для того, чтобы графики отображались автоматически в Jupyter Notebook или IPython, нужно использовать специальную команду %matplotlib inline.

Если графики начинают отображаться только после выполнения следующего кода:

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

то это означает, что команда %matplotlib inline не была выполнена ранее. Эта команда активирует встроенный режим визуализации, позволяющий выводить графики непосредственно в ячейках вашего ноутбука.

Проверьте следующие моменты:

  1. Убедитесь, что вы используете Jupyter Notebook или IPython для запуска вашего кода, так как %matplotlib inline не будет работать в обычных Python-скриптах.
  2. Убедитесь, что вы используете соответствующие версии библиотек и что они правильно установлены в вашей среде Anaconda.

Если у вас возникли дополнительные проблемы, попробуйте перезапустить ядро и выполнить все ячейки с самого начала. Это может помочь устранить неполадки.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь