Czy ktoś mógłby mi wyjaśnić, do czego dokładnie służy %matplotlib inline
?
python
matplotlib
jupyter-notebook
ipython
Rishabh
źródło
źródło
inline
), wprowadzając:%matplotlib --list
.Odpowiedzi:
%matplotlib
to magiczna funkcja w IPython. Przytoczę tutaj odpowiednią dokumentację, którą możesz przeczytać dla wygody:%matplotlib inline
ustawia backend matplotlib na backend „inline” :Podczas korzystania z backendu „inline” wykresy matplotlib zostaną umieszczone w notatniku obok kodu. Warto również przeczytać Jak zrobić wykres matplotlib w notatniku IPython, aby uzyskać informacje na temat używania go w kodzie.
Jeśli chcesz również interaktywności, możesz użyć backendu nbagg z
%matplotlib notebook
(w IPython 3.x), jak opisano tutaj .źródło
Pod warunkiem, że korzystasz z IPython,
%matplotlib inline
spowoduje to, że wyniki wydruku będą wyświetlane i przechowywane w notebooku.Zgodnie z dokumentacją
źródło
Jeśli chcesz dodać wykresy do notatnika Jupyter,
%matplotlib inline
jest to standardowe rozwiązanie. Są też inne magiczne polecenia, które będą używanematplotlib
interaktywnie w Jupyter.%matplotlib
: dowolneplt
polecenie wydruku spowoduje teraz otwarcie okna figury i można uruchomić kolejne polecenia, aby zaktualizować wykres. Niektóre zmiany nie będą rysowane automatycznie, aby wymusić aktualizację, użyjplt.draw()
%matplotlib notebook
: doprowadzi do interaktywnych wykresów osadzonych w notatniku, możesz powiększać i zmieniać rozmiar figury%matplotlib inline
: rysuj tylko statyczne obrazy w notatnikuźródło
ipython docs
źródło
inline
, wykresy są generowane w zewnętrznych oknach i musisz użyć display (), aby pokazać je w notatniku.Jeśli nie wiesz, co to jest backend, możesz przeczytać: https://matplotlib.org/tutorials/introductory/usage.html#backends
Kiedy więc wpiszesz% matplotlib inline, aktywuje on wbudowany backend. Jak omówiono w poprzednich postach:
źródło
Oznacza to po prostu, że każdy wykres, który tworzymy jako część naszego kodu, pojawi się w tym samym notatniku, a nie w osobnym oknie, co miałoby miejsce, gdybyśmy nie użyli tej magicznej instrukcji.
źródło
Aby wyjaśnić to jasno:
Jeśli ci się nie podoba:
Dodaj
%matplotlib inline
i masz to w swoim notatniku jupyter.
źródło
TL; DR
%matplotlib inline
- Wyświetla dane wyjściowe w liniiJądro IPython ma możliwość wyświetlania wykresów przez wykonanie kodu. Jądro IPython jest zaprojektowane do płynnej współpracy z biblioteką wydruku matplotlib, aby zapewnić tę funkcjonalność.
Wyświetl dane wyjściowe w osobnym oknie
Wyświetl wynik wyjściowy
(dostępne tylko dla Jupyter Notebook i Jupyter QtConsole)
Wyświetlacz z interaktywnymi backendami
(prawidłowe wartości
'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
)Przykład - GTK3Agg - renderowanie Agg na kanwie GTK 3.x (wymaga PyGObject i pycairo lub cairocffi).
Więcej informacji na temat interaktywnych backendów matplotlib: tutaj
Patrz: Bogata wydajność IPython - interaktywne drukowanie
źródło
Pod warunkiem, że korzystasz z Jupyter Notebook, polecenie% matplotlib inline sprawi, że wyniki wydruku zostaną wyświetlone w notatniku, a także mogą być przechowywane.
źródło
Nie jest to obowiązkowe. Działa dobrze dla mnie bez
%matplotlib
funkcji magicznej. Korzystam z kompilatora Sypder, który jest dostarczany w Anaconda.źródło