Як збільшити вбудовані ділянки в 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.