Как установить размер рисунка matplotlib по умолчанию в ноутбуке ipython?

104

Я использую "$ ipython notebook --pylab inline" для запуска ipython notebook. Размер фигуры display matplotlib слишком велик для меня, и мне приходится настраивать его вручную. Как установить размер по умолчанию для фигуры, отображаемой в ячейке?

большой жук
источник

Ответы:

123

Полагаю, что следующая работа будет в версии 0.11 и выше. Чтобы проверить версию:

$ ipython --version

Возможно, стоит добавить эту информацию к вашему вопросу.

Решение:

Вам нужно найти файл ipython_notebook_config.py. В зависимости от вашего процесса установки это должно быть где-то вроде

.config/ipython/profile_default/ipython_notebook_config.py

где .configнаходится в вашем домашнем каталоге.

Как только вы найдете этот файл, найдите следующие строки

# Subset of matplotlib rcParams that should be different for the inline backend.
# c.InlineBackend.rc = {'font.size': 10, 'figure.figsize': (6.0, 4.0), 'figure.facecolor': 'white', 'savefig.dpi': 72, 'figure.subplot.bottom': 0.125, 'figure.edgecolor': 'white'}

Раскомментируйте эту строку c.InlineBack...и определите значение figsize по умолчанию во второй словарной статье.

Обратите внимание, что это можно сделать в скрипте python (и, следовательно, интерактивно в IPython), используя

pylab.rcParams['figure.figsize'] = (10.0, 8.0)
Грег
источник
6
В ipython 2.0 файл конфигурации находится в .ipython / profile_default / ipython_notebook_config.py
Фабиан Педрегоса
1
В более старых версиях iPython ipython_notebook_config.pyне содержит строки для настройки встроенного бэкэнда. Поскольку файл конфигурации не обновляется автоматически при обновлении iPython (по крайней мере, в Windows), вам необходимо удалить его и сгенерировать новый файл конфигурации, запустив его, ipython profile createкак это предлагает @anmol ниже.
Puggie
1
Вы можете найти существующие профили с помощью ipython profile locate.
j08lue
22
И если вы используете matplotlib вместо pyplot, интерактивная командаmatplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Люк
Я использую jupyter 4.1.0-6 с python-ipykernel 4.5.2-3 и ipython 5.3.0-1 (все они на Arch), и у меня нет файла с названием ipython_notebook_config.pyпод моим ~. Есть идеи, как все могло измениться в самых последних версиях?
Пастафариан
111

Сработала понравилась мне прелесть:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)
Субпространственный
источник
17
Я не знаю, насколько это идиоматично, но я скорректировал это для своего ноутбука jupyter, чтобы он работал:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd
8
Также естьplt.rc('figure', figsize=(20.0, 10.0))
joelostblom
2
Довольно странно, но после некоторого обновления мне нужно раскол %matplotlib inlineи plt.rc(...)в разных камерах последнего на работу. То же самое и дляmatplotlib.rcParams[...]
uranix
3
Также убедитесь, что эта строка находится после%matplotlib inline
Ришаб Аграхари
17

Если у вас нет этого файла ipython_notebook_config.py, вы можете создать его, следуя инструкциям readme и набрав

ipython profile create
анмол
источник
16

Просто для полноты это тоже работает

from IPython.core.pylabtools import figsize
figsize(14, 7)

Это обертка вокруг rcParamsраствора

gsmafra
источник
Важно для большой записной книжки с множеством сюжетов, работает как шарм
CATALUNA84
8

В iPython 3.0.0 встроенный бэкэнд необходимо настроить в ipython_kernel_config.py. Вам нужно вручную добавить c.InlineBackend.rcстроку ... (как указано в ответе Грега ). Это повлияет как на встроенный бэкэнд в консоли Qt, так и на ноутбуке.

Пагги
источник