Может ли кто-нибудь объяснить мне, в чем именно польза %matplotlib inline
?
python
matplotlib
jupyter-notebook
ipython
Rishabh
источник
источник
inline
) на входе:%matplotlib --list
.Ответы:
%matplotlib
это магическая функция в IPython. Я приведу здесь соответствующую документацию, которую вы можете прочитать для удобства:%matplotlib inline
устанавливает backend для matplotlib в 'встроенный' backend :При использовании встроенного бэкэнда ваши графики matplotlib будут включены в ваш блокнот рядом с кодом. Возможно, стоит почитать, как сделать встроенный сюжет IPython для ноутбука встраиваемым, чтобы узнать, как использовать его в своем коде.
Если вам нужна интерактивность, вы можете использовать бэкэнд nbagg с
%matplotlib notebook
(в IPython 3.x), как описано здесь .источник
При условии, что вы работаете с IPython,
%matplotlib inline
ваши выходные данные будут отображаться и сохраняться в блокноте.Согласно документации
источник
Если вы хотите добавить графики в свой блокнот Jupyter, то
%matplotlib inline
это стандартное решение. Есть и другие магические команды, которые будутmatplotlib
интерактивно использоваться в Jupyter.%matplotlib
: любаяplt
команда заговора теперь вызовет открытие окна рисунка, и можно будет запустить дополнительные команды для обновления заговора. Некоторые изменения не будут отображаться автоматически, для принудительного обновления используйтеplt.draw()
%matplotlib notebook
: приведет к интерактивным графикам, встроенным в ноутбук, вы можете увеличивать и изменять размеры фигуры%matplotlib inline
: рисовать только статичные изображения в блокнотеисточник
Ipython Docs
источник
inline
, графики создаются во внешних окнах, и вам нужно использовать display (), чтобы отобразить их в блокноте.Это просто означает, что любой график, который мы создаем как часть нашего кода, появится в той же записной книжке, а не в отдельном окне, что произошло бы, если бы мы не использовали это волшебное утверждение.
источник
Если вы не знаете, что такое бэкэнд, вы можете прочитать это: https://matplotlib.org/tutorials/introductory/usage.html#backends
Поэтому, когда вы набираете% matplotlib inline, он активирует встроенный бэкэнд. Как обсуждалось в предыдущих постах:
источник
Чтобы объяснить это ясно:
Если вам не нравится это так:
Добавить
%matplotlib inline
и вот он у тебя в тетради на Юпитере.
источник
TL; DR
%matplotlib inline
- Отображает вывод в строкеЯдро IPython имеет возможность отображать графики, выполняя код. Ядро IPython разработано для бесперебойной работы с библиотекой графиков matplotlib для обеспечения этой функциональности.
Показать вывод в отдельном окне
Вывод на дисплей
(доступно только для Jupyter Notebook и Jupyter QtConsole)
Дисплей с интерактивными бэкэндами
(действительные значения
'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
)Пример - GTK3Agg - рендеринг Agg на холст GTK 3.x (требуется PyGObject и pycairo или cairocffi).
Подробнее об интерактивных бэкэндах matplotlib: здесь
См .: IPython Rich Output - Интерактивная печать
источник
При условии, что вы используете Jupyter Notebook, встроенная команда% matplotlib сделает вывод ваших графиков отображаемым в блокноте, а также может быть сохранен.
источник
Это не обязательно писать это. Это работало нормально для меня без (
%matplotlib
) магической функции. Я использую компилятор Sypder, который поставляется с Anaconda.источник