Если я запустил ipython-ноутбук с matplotlib inlined, есть ли способ впоследствии построить рисунок так, чтобы он отображался в "стандартном", не встраиваемом, без необходимости перезагружать ноутбук без встроенной команды? Я хотел бы иметь некоторые фигуры, встроенные в блокнот, но другие в традиционном интерактивном режиме, где я могу масштабировать и панорамировать.
Matplotlib python встроенный вкл./выкл.
Ответ 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, и я использую его только для увеличения количества слов.