Як збільшити вбудовані ділянки в Jupyter Notebook?


262

Я зробив свої сюжети в моєму зошиті Ipython "" %matplotlib inline.

Тепер з'являється сюжет. Однак це дуже мало. Чи є спосіб зробити його більшим за допомогою налаштувань ноутбука чи налаштувань сюжету?

введіть тут опис зображення

Відповіді:


172

Так, пограйте figuresizeтак (перед тим, як зателефонувати своєму субплоту):

fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')

28
f, (ax1, ax2, ax3) = plt.subplots (1,3, sharex = 'col', sharey = 'рядок', figsize = (18, 16)) для цього конкретного випадку
Rol

11
Не працює. Зміна фігури в моєму випадку лише змінює співвідношення сторін. Ширина загальної цифри залишається фіксованою
Aleksejs Fomins

Це правильно для чисел, занадто великих для розміщення на сторінці, тоді масштабування припиняється. Це все ще може бути корисним для зміни співвідношення сторін, як ви зазначили.
roadrunner66

1
Збільшення dpi до "200" дає набагато кращий результат, ніж просто зміна розміру фігури.
Адітія Бхат

Так, дивіться @Hagne нижче.
roadrunner66

402

Розмір фігури за замовчуванням (в дюймах) контролюється

matplotlib.rcParams['figure.figsize'] = [width, height]

Наприклад:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]

створює фігуру розміром 10 (ширина) х 5 (висота) дюймів


7
Це насправді набагато корисніше як стратегія "встановити і забути", якщо всі сюжети не розміщені.
ijoseph

2
Чудово. Напружився розміром з пандами, і це виправило. Чомусь figsize=(x,y)аргумент у юпітера неефективний. Однак модифікація matplob.rcParams, як ви пропонуєте, працює чудово.
0_0

29
Переконайтеся, що ви запустили це після запуску %matplotlib inline.
uut

@uut Це не за замовчуванням?
Верена Хауншмід

4
@VerenaHaunschmid, що працює %matplotlib inlineпісля встановлення rcParams, здається, замінює розмір фігури назад за замовчуванням.
uut

62

Я виявив, що %matplotlib notebookдля мене працює краще, ніж у ноутбуках Юпітера.

Зауважте, що вам може знадобитися перезапустити ядро, якщо ви використовували %matplotlib inlineраніше.

Оновлення 2019: Якщо ви працюєте в лабораторії Jupyter, можливо, ви хочете використовувати її %matplotlib widget


5
Можливо, це спрацьовує в деяких випадках, але коли я спробував це на своєму, він дав мені порожнє зображення з фреймом даних панди df.plot(). Мені довелося повернутися в%matplotlib inline
tsando

8
@tsando У мене виникла проблема, коли перемикання %matplotlib inlineна режим %matplotlib notebookбез перезавантаження ядра дає порожній вихід. Перехід від %matplotlib notebookдо %matplotlib inlineробіт штрафу.
SlimCheney

4
Дякую @SlimCheney, я підтверджую те, що ти кажеш, що це правда - це працює, якщо перезапустити ядро
tsando

1
Це, безумовно, перемагає, намагаючись налаштувати компоненти панорамування та масштабування вручну
beldaz

1
воно не працює, навіть після перезавантаження ядра. Це дає чистий вихід
Kardi Teknomo

31

Якщо ви хочете, щоб зображення вашої фігури було більше, не змінюючи загального вигляду вашої фігури, збільште роздільну здатність фігури. Зміна розміру фігури, як це пропонується в більшості інших відповідей, змінить зовнішній вигляд, оскільки розміри шрифту не змінюються відповідно.

import matplotlib.pylab as plt
plt.rcParams['figure.dpi'] = 200

19

Питання полягає в тому matplotlib, але заради будь-яких користувачів R, які опиняються тут, дається мовно-агностична назва:

Якщо ви використовуєте ядро ​​R, просто використовуйте:

options(repr.plot.width=4, repr.plot.height=3)

11

Щоб відрегулювати розмір однієї фігури:

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(15, 15))

Щоб змінити настройки за замовчуванням, а отже, і всі ваші ділянки:

import matplotlib.pyplot as plt

plt.rcParams['figure.figsize'] = [15, 15]

0

Невелика, але важлива деталь для одноразового регулювання розміру фігури (оскільки кілька коментаторів вище повідомили, що "це не працює для мене"):

Ви повинні зробити plt.figure (figsize = (,)) PRIOR для визначення вашого фактичного сюжету. Наприклад:

Це має правильно розмістити ділянку відповідно до вказаного рисунка:

values = [1,1,1,2,2,3]
_ = plt.figure(figsize=(10,6))
_ = plt.hist(values,bins=3)
plt.show()

Враховуючи це, буде показано графік із налаштуваннями за замовчуванням, схоже, що "ігнорувати" фігуру:

values = [1,1,1,2,2,3]
_ = plt.hist(values,bins=3)
_ = plt.figure(figsize=(10,6))
plt.show()
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.