Цель "% matplotlib inline" - программирование
Подтвердить что ты не робот

Цель "% matplotlib inline"

Может кто-нибудь объяснить мне, что именно используется %matplotlib inline?

4b9b3361

Ответ 1

%matplotlib является магической функцией в IPython. Я приведу здесь соответствующую документацию для чтения:

IPython имеет набор предопределенных "магических функций", которые вы можете вызывать с помощью синтаксиса стиля командной строки. Существует два типа магии, ориентированные на линию и ориентированные на ячейки. Линейные магии префиксны с символом% и работают так же, как вызовы командной строки OS: они получают в качестве аргумента остальную часть строки, где аргументы передаются без круглых скобок или кавычек. Магины линий могут возвращать результаты и могут использоваться в правой части задания. Клеточные магии имеют префикс с двойным %%, и они являются функциями, которые получают в качестве аргумента не только остальную часть строки, но и строки под ней в отдельном аргументе.

%matplotlib inline устанавливает бэкенд matplotlib для встроенного backend:

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

При использовании встроенного бэкэнда ваши графические диаграммы matplotlib будут включены в ваш блокнот рядом с кодом. Возможно, стоит также прочитать Как сделать IP-планшет matplotlib для IPython встроенным для справки о том, как его использовать в вашем коде.

Если вам нужна интерактивность, вы можете использовать nbagg backend с %matplotlib notebook (в IPython 3.x), как описано здесь.

Ответ 2

Если вы используете IPython, %matplotlib inline сделает вывод вашего графика и будет сохранен в ноутбуке.

Согласно документации

Чтобы установить это, перед тем, как будет выполнен какой-либо построчный или импортированный текст matplotlibвы должны выполнить %matplotlib magic command. Эта выполняет необходимую заглавную настройку для работы IPython правильно рука об руку с matplotlib; это не означает, однако, фактически выполнять любые команды импорта Python, то есть имена не являются добавлен в пространство имен.

Особенно интересным бэкэнд, предоставляемым IPython, является inline. Это доступно только для ноутбуков Jupyter и Jupyter QtConsole. Его можно вызвать следующим образом:

%matplotlib inline

С этой базой данных вывод команд построения отображается в строке в интерфейсах, таких как ноутбук Jupyter, непосредственно под кодом клетки, которые его продуцировали. Затем полученные графики будут также сохранены в документ записной книжки.

Ответ 3

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

%matplotlib: любая команда графика plt теперь будет вызывать открытие окна рисунка, и можно будет запускать дополнительные команды для обновления графика. Некоторые изменения не будут отображаться автоматически, для принудительного обновления используйте plt.draw()

%matplotlib notebook: приведет к интерактивным графикам, встроенным в ноутбук, вы можете увеличивать и изменять размеры фигуры

%matplotlib inline: рисовать только статичные изображения в блокноте

Ответ 4

Ядро IPython прекрасно работает с matplotlib, показывая все графики, встроенные в ноутбук Jupyter. Это делается командой "% matplotlib inline"

Ответ 5

Если вы не знаете, что такое бэкэнд, вы можете прочитать это: https://matplotlib.org/tutorials/introductory/usage.html#backends

Некоторые люди используют matplotlib в интерактивном режиме из оболочки Python и окна печати появляются, когда они набирают команды. Некоторые люди бегут Блокноты Jupyter и рисовать линейные графики для быстрого анализа данных. Другие встраивают matplotlib в графические пользовательские интерфейсы, такие как wxpython. или pygtk для создания многофункциональных приложений. Некоторые люди используют matplotlib в пакетные скрипты для генерации постскриптных изображений из числовых симуляции, а третьи запускают серверы веб-приложений для динамически обслуживать графики. Чтобы поддержать все эти варианты использования, Matplotlib может предназначаться для разных выходов, и каждый из них возможности называется бэкэндом; "интерфейс" - это пользователь код, то есть код построения, тогда как "бэкэнд" делает все трудное работать за кулисами, чтобы сделать фигуру.

Поэтому, когда вы набираете% matplotlib inline, он активирует встроенный бэкэнд. Как обсуждалось в предыдущих постах:

С этим бэкэндом вывод команд построения графиков отображается встроенным в интерфейсе, как ноутбук Jupyter, прямо под кодом клетка, которая произвела это. Полученные графики затем также будут сохранены в тетрадный документ.

Ответ 6

Основная причина использования %matplotlib inline заключается в том, чтобы %matplotlib inline вашего графика и сохранить его в ноутбуке, чтобы он не превышал ноутбук.

Ответ 7

  Начиная с IPython 5.0 и matplotlib 2.0 вы можете избежать использования IPythons специфическая магия и использование matplotlib.pyplot.ion()/matplotlib.pyplot.ioff(), которые имеют Преимущества работы вне IPython.

ipython docs

Ответ 8

Это не обязательно писать это. У меня это работало нормально без (%matplotlib) магической функции. Я использую компилятор Sypder, который поставляется с Anaconda.