Ответ 1
Вы можете изменить формат фигуры по умолчанию в файлах конфигурации профиля ipython. Что я сделал, так это создать профиль конфигурации, особенно для ноутбука, используя:
ipython profile create nbserver
В командной строке. Это создает целую кучу файлов под ~/.ipython/profile_nbserver
, которые имеют строки строк почти для всех параметров, которые вы могли бы захотеть изменить (это может быть где-то, например, ~/.config/ipython
вместо этого, в зависимости от вашей ОС, а не о том, где оно будет находиться под окнами), Вам нужно посмотреть в файле ipython_notebook_config.py
. Затем вы должны добавить строку:
c.InlineBackend.figure_formats = ['svg']
Обратите внимание, что это применимо только к IPython 3.x, и вы также можете указать дополнительные форматы в соответствии с комментарием @HarrySchreiner. Для IPython 2.x вы должны установить c.InlineBackEnd.figure_format='svg'
. Чтобы использовать этот профиль, вы должны запустить ноутбук с помощью
ipython notebook --profile=nbserver
Если это слишком большая проблема, не указывайте имя профиля при запуске create
и не изменяйте профиль по умолчанию.
Кроме того, вы можете иметь строку
c.IPKernelApp.matplotlib = 'inline'
чтобы каждый ноутбук автоматически запускался с использованием встроенного бэкэнда matplotlib.
Изначально я также хотел использовать бэкэнд svg вместо png, чтобы включить масштабирование и т.д. Однако я обнаружил, что некоторые графики, такие как pcolor
с большим количеством точек, могут просто убить мой браузер при использовании svg-сервера. Поэтому мне проще использовать png и просто используйте команды xlim
и ylim
для увеличения вручную, если нужно.
Кроме того, вы должны определенно настроить строку c.InlineBackend.rc
, чтобы установить более разумные значения по умолчанию для размера фигуры и используемых шрифтов.
изменить
Рекомендуемая в настоящее время наилучшая практика - не использовать pylab
, а явно импортировать matplotlib
и numpy
, поэтому я изменил свой ответ, чтобы не поощрять это. См. Это сообщение по следующим причинам:
http://carreau.github.io/posts/10-No-PyLab-Thanks.html
Кроме того, если svg-рендеринг слишком медленный для определенных элементов графика (например, pcolor
или plot_surface
), вы можете передать опцию rasterized=True
этим командам. Это означает, что эти конкретные части графика будут иметь рендеринг на основе пикселов, но все остальные элементы графика будут хорошо прорисованы.