Jak ustawić domyślny rozmiar figury matplotlib w notatniku ipython?

104

Używam "$ ipython notebook --pylab inline", aby uruchomić notatnik ipython. Rozmiar rysunku matplotlib wyświetlacza jest dla mnie za duży i muszę go ręcznie dostosować. Jak ustawić domyślny rozmiar figury wyświetlanej w komórce?

wielki robak
źródło

Odpowiedzi:

123

Uważam, że następująca praca w wersji 0.11 i nowszych. Aby sprawdzić wersję:

$ ipython --version

Warto dodać te informacje do swojego pytania.

Rozwiązanie:

Musisz znaleźć plik ipython_notebook_config.py. W zależności od procesu instalacji powinien to być plik

.config/ipython/profile_default/ipython_notebook_config.py

gdzie .configjest w twoim katalogu domowym.

Po zlokalizowaniu tego pliku znajdź następujące wiersze

# 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'}

Odkomentuj tę linię c.InlineBack...i zdefiniuj domyślny rozmiar figs w drugim haśle słownika.

Zauważ, że można to zrobić w skrypcie Pythona (a zatem interaktywnie w IPythonie) przy użyciu

pylab.rcParams['figure.figsize'] = (10.0, 8.0)
Greg
źródło
6
W ipythonie 2.0 plik konfiguracyjny znajduje się w .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa
1
W starszych wersjach iPythona ipython_notebook_config.pynie zawiera wiersza do konfiguracji wbudowanego zaplecza. Ponieważ plik konfiguracyjny nie jest automatycznie aktualizowany podczas aktualizacji iPythona (przynajmniej w systemie Windows), musisz go usunąć i wygenerować nowy plik konfiguracyjny, uruchamiając ipython profile createzgodnie z sugestią @anmol poniżej.
Puggie
1
Możesz zlokalizować istniejące profile za pomocą ipython profile locate.
j08lue
22
A jeśli używasz matplotlib zamiast pyplot, interaktywne polecenie to matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luke
Używam jupyter 4.1.0-6 z python-ipykernel 4.5.2-3 i ipython 5.3.0-1 (wszystkie na Arch) i nie mam pliku z tytułem ipython_notebook_config.pypod moim ~. Masz jakiś pomysł, jak coś mogło się zmienić w najnowszych wersjach?
Pastafarianist
111

Pracował lubił dla mnie urok:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)
Podprzestrzenny
źródło
17
Nie wiem, jakie to idiomatyczne, ale dostosowałem to dla mojego notebooka jupyter, aby działał:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd
8
Jest teżplt.rc('figure', figsize=(20.0, 10.0))
joelostblom
2
Dość dziwne, ale po pewnym aktualizacji muszę rozłamu %matplotlib inlinei plt.rc(...)na różnych komórkach dla tej ostatniej pracy. To samo dotyczymatplotlib.rcParams[...]
uranix
3
Upewnij się również, że ta linia jest po%matplotlib inline
Rishabh Agrahari
17

Jeśli nie masz tego pliku ipython_notebook_config.py, możesz go utworzyć, postępując zgodnie z instrukcją i wpisując

ipython profile create
anmol
źródło
16

Tylko dla kompletności, to również działa

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

Jest to opakowanie otaczające rcParamsroztwór

gsmafra
źródło
Ważne dla dużego notatnika z wieloma działkami i działa jak urok
CATALUNA84
8

W iPythonie 3.0.0 wbudowane zaplecze musi być skonfigurowane w ipython_kernel_config.py. Musisz ręcznie dodać c.InlineBackend.rclinię ... (jak wspomniano w odpowiedzi Grega ). Wpłynie to zarówno na wbudowany backend w konsoli Qt, jak i na notebook.

Puggie
źródło
0
plt.rcParams['figure.figsize'] = (15, 5)
Thomas G.
źródło