Jak zrobić Notebook IPython matplotlib plot inline

[7]}próbuję używać notebooka IPython na MacOS X z Pythonem 2.7.2 i IPython 1.1.0.

Nie mogę uzyskać Grafiki matplotlib, aby pokazać się w linii.

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

Próbowałem również %pylab inline i argumentów linii poleceń ipython --pylab=inline, ale to nie robi różnicy.

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

Zamiast grafiki inline, dostaję to:

<matplotlib.figure.Figure at 0x110b9c450>

I matplotlib.get_backend() pokazuje, że mam backend 'module://IPython.kernel.zmq.pylab.backend_inline'.

Author: Michael Currie, 2013-10-16

10 answers

Użyłem %matplotlib inline w pierwszej komórce notatnika i działa. Myślę, że powinieneś spróbować:

%matplotlib inline

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

Możesz również zawsze uruchomić wszystkie jądra Ipythona w trybie inline, ustawiając następujące opcje konfiguracji w plikach konfiguracyjnych:

c.IPKernelApp.matplotlib=<CaselessStrEnum>
  Default: None
  Choices: ['auto', 'gtk', 'gtk3', 'inline', 'nbagg', 'notebook', 'osx', 'qt', 'qt4', 'qt5', 'tk', 'wx']
  Configure matplotlib for interactive use with the default matplotlib backend.
 877
Author: eNord9,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-03 00:37:32

Jeśli Twoja wersja matplotlib jest wyższa niż 1.4, możliwe jest również użycie

IPython 3.x i powyżej
%matplotlib notebook

import matplotlib.pyplot as plt

Starsze Wersje

%matplotlib nbagg

import matplotlib.pyplot as plt

Oba aktywują backend nbagg , który umożliwia interaktywność.

Przykładowy wykres z zapleczem nbagg

 169
Author: Løiten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-22 07:27:29

Ctrl + Enter

%matplotlib inline

Magiczna Linia :D

Zobacz: kreślenie za pomocą Matplotlib.

 70
Author: CodeFarmer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-19 10:43:36

Nie wiem dlaczego joaquin zamieścił swoją odpowiedź jako komentarz, ale jest to poprawna odpowiedź:

Uruchom ipython z ipython notebook --pylab inline

Edit: Ok, to jest teraz przestarzałe zgodnie z komentarzem poniżej. Użyj Magii % pylab.

 20
Author: foobarbecue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-28 20:03:30

Aby matplotlib był domyślnie wbudowany w Jupyter (IPython 3):

  1. Edytuj plik ~/.ipython/profile_default/ipython_config.py

  2. Dodaj wiersz c.InteractiveShellApp.matplotlib = 'inline'

Należy pamiętać, że dodanie tej linii do ipython_notebook_config.py nie zadziała. W przeciwnym razie działa dobrze z Jupyter i IPython 3.1.0

 10
Author: volodymyr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-03 16:03:07

Muszę się zgodzić z foobarbecue (nie mam dość reców, aby móc po prostu wstawić komentarz pod jego postem):

Zaleca się teraz, aby notatnik Pythona nie był uruchamiany z argumentu --pylab, a według Fernando Pereza (twórcy ipythonnb) %matplotlib inline powinno to być początkowe polecenie notatnika.

Zobacz tutaj: http://nbviewer.ipython.org/github/ipython/ipython/blob/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb

 9
Author: thescoop,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-25 21:54:29

Znalazłem obejście, które jest całkiem zadowalające. Zainstalowałem Anaconda Python i to teraz działa po wyjęciu z pudełka dla mnie.

 6
Author: Ian Fiske,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-17 00:28:47

Na Ubuntu możesz usunąć %matplotlib inline tak długo, jak masz plt.show() Po utworzeniu wykresu.

 4
Author: Conrad Thiele,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-19 10:44:21

Zrobiłem instalację anacondy, ale matplotlib nie wykreśla

Zaczyna spiskować, kiedy to zrobiłem

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  
 3
Author: Raymond,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-12 04:59:58

Możesz symulować ten problem z błędem składni, jednak %matplotlib inline nie rozwiąże problemu.

Najpierw przykład właściwego sposobu tworzenia wykresu. Wszystko działa zgodnie z oczekiwaniami z importem i magią dostarczoną przez enord9.

df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF'))

df_randNumbers1.ix[:,["A","B"]].plot.kde()

Jednak, pozostawiając () poza końcem typu wykresu, otrzymujesz nieco niejednoznaczny nie-błąd.

Błędny kod:

df_randNumbers1.ix[:,["A","B"]].plot.kde

Przykładowy błąd:

<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>

Poza tą wiadomością z jednej linii, nie ma śledzenie stosu lub inny oczywisty powód, aby sądzić, że popełniłeś błąd składni. Fabuła nie jest drukowana.

 1
Author: Blake M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:38