2016-09-04 2 views
1

Этот вопрос более интересен.Размер фигуры Matplotlib в Jupyter сбрасывается с помощью inlining в Jupyter

Чтобы изменить размер фигового по умолчанию обычая один в Matplotlib, один делает

from matplotlib import rcParams 
from matplotlib import pyplot as plt 
rcParams['figure.figsize'] = 15, 9 

после того, фигура с выбранным размером.

Теперь я нахожу что-то новое (никогда не был/замечал только сейчас): в записной книжке Jupyter, когда встраивание Matplotlib в

%matplotlib inline 

это, по-видимому перезаписывает rcParams словарь восстанавливающего значения по умолчанию для размер фигуры. Следовательно, если у вас есть возможность установить размер, я должен ввести matplotlibдо, изменяя значения словаря rcParams.

Я нахожусь в Mac OS 10.11.6, matplotlib версии 1.5.1, Python 2.7.10, Jupyter 4.1.

+0

Это точное описание работы встроенного режима. если вы копаете дальше, вы обнаружите, что, кроме всего прочего, он устанавливает фоновый фон. – jakevdp

+0

@jakevdp В этом случае, я думаю, полезный ответ объясняет, как работает встроенный режим и почему он перезаписывает dict. –

ответ

3

Встроенный бэкэнд IPython sets some rcParams, когда он инициализирован. Это настраивается, и вы можете изменить его с вашей собственной конфигурации:

# in ~/.ipython/ipython_config.py 
c.InlineBackend.rc = { 
    'figure.figsize': (15, 9) 
} 

выше будет заменить все из rcParams, что встроенные наборы Серверные, и вы получите полный контроль. Если у вас уже есть стиль Matplotlib, который работает хорошо для встроенного вывода, вы можете сказать, бэкенду оставить все в покое:

c.InlineBackend.rc = {} 

Если вы хотите изменить только несколько значений, а не перекрывать всю вещь, вы можете использовать словарь .update метод:

c.InlineBackend.rc.update({'figure.figsize': (15, 9)}) 

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

Смежные вопросы