Подтвердить что ты не робот

Matplotlib python встроенный вкл./выкл.

Если я запустил ipython-ноутбук с matplotlib inlined, есть ли способ впоследствии построить рисунок так, чтобы он отображался в "стандартном", не встраиваемом, без необходимости перезагружать ноутбук без встроенной команды? Я хотел бы иметь некоторые фигуры, встроенные в блокнот, но другие в традиционном интерактивном режиме, где я могу масштабировать и панорамировать.

4b9b3361

Ответ 1

Вы можете переключить бэкенд matplotlib на %matplotlib <backend>. Чтобы вернуться к системному бэкэнду по умолчанию, используйте %matplotlib auto или просто %matplotlib.

Существует много бэкэнд, таких как gtk, qt, notebook и т.д. Я лично рекомендую использовать бэкэнд notebook (a.k.a. nbagg). Он похож на inline, но интерактивный, позволяя масштабировать/панорамировать изнутри Jupyter.

Для получения дополнительной информации попробуйте: ?%matplotlib внутри IPython/Jupyter или онлайн-документация IPython

Ответ 2

plt.ioff() и plt.ion() работает как прелесть в моем ноутбуке Jupyter с notebook в качестве backend (при условии обычного import matplotlib.pyplot as plt).

Ответ 3

Это зависит от точной конфигурации вашего matplotlib, но вы можете переключаться между встроенными и одним из "osx", "qt4", "qt5", "gtk3", "wx", "qt", "gtk", "tk" (некоторые из них являются псевдонимами других). просто используйте %matplotlib <the one you want> для переключения. В зависимости от условий, которые вы имеете, есть доступ только к одному из них.

Ответ 4

Другая возможность - использовать matplotlib.pyplot.close(fig). Это работает для меня, хотя %matplotlib auto вызывает ужасную ошибку wx (связанную с версиями файлов разработки GTK, которые я установил в LD_LIBRARY_PATH).

Хотя это может вызвать проблемы, если вы делаете что-то вроде создания видео (или, может быть, не пытались), это работало для меня при сборке изображений в таблице с помощью IPython.display.HTML per этот ответ.

Ответ 5

% matplotlib auto действительно плох и никогда не работал на меня. Мне нравится% matplotlib nbagg, и я использую его только для увеличения количества слов.