Comment faire IPython ordinateur portable matplotlib parcelle en ligne
j'essaie d'utiliser IPython notebook sur MacOS X avec Python 2.7.2 et IPython 1.1.0.
Je ne peux pas obtenir des graphismes matplotlib pour apparaître en ligne.
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
j'ai aussi essayé %pylab inline
et les arguments en ligne de commande ipython --pylab=inline
mais cela ne fait aucune différence.
x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()
au lieu de graphismes en ligne, je reçois ceci:
<matplotlib.figure.Figure at 0x110b9c450>
et matplotlib.get_backend()
montre que j'ai le 'module://IPython.kernel.zmq.pylab.backend_inline'
backend.
10 réponses
j'ai utilisé %matplotlib inline
dans la première cellule du carnet et il fonctionne. Je pense que vous devriez essayer:
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
vous pouvez également toujours démarrer tous vos noyaux IPython en mode inline par défaut en définissant les options de configuration suivantes dans vos fichiers de configuration:
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.
si votre version matplotlib est supérieure à 1.4, il est également possible d'utiliser
IPython 3.x et plus
%matplotlib notebook
import matplotlib.pyplot as plt
anciennes versions
%matplotlib nbagg
import matplotlib.pyplot as plt
les deux activeront le nbagg backend , ce qui permet l'interactivité.
Je ne sais pas pourquoi joaquin a publié sa réponse en commentaire, mais c'est la bonne réponse:
démarrer ipython avec ipython notebook --pylab inline
Edit: Ok, c'est maintenant obsolète comme par commentaire ci-dessous. Utilisez la magie %pylab.
Pour faire matplotlib inline par défaut dans Jupyter (IPython 3):
-
Modifier le fichier
~/.ipython/profile_default/ipython_config.py
-
ajouter la ligne
c.InteractiveShellApp.matplotlib = 'inline'
veuillez noter que l'ajout de cette ligne à ipython_notebook_config.py
ne fonctionnerait pas.
Sinon, il fonctionne bien avec Jupyter et IPython 3.1.0
je dois être d'accord avec foobarbecue (Je n'ai pas assez de recs pour pouvoir simplement insérer un commentaire sous son post):
il est maintenant recommandé que Python notebook n'est pas commencé avec l'argument --pylab
, et selon Fernando Perez (créateur d'ipythonnb) %matplotlib inline
devrait être la commande initiale notebook.
j'ai trouvé une solution satisfaisante. J'ai installé Anaconda Python et cela fonctionne maintenant hors de la boîte pour moi.
sur Ubuntu vous pouvez supprimer %matplotlib inline
aussi longtemps que vous avez plt.show()
après la création du graphe.
j'ai fait l'installation anaconda mais matplotlib n'est pas traqué
il commence à tracer quand je l'ai fait
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
vous pouvez simuler ce problème avec une erreur de syntaxe, cependant, %matplotlib inline
ne résoudra pas le problème.
d'Abord un exemple de la bonne façon de créer un terrain. Tout fonctionne comme prévu avec les importations et la magie que eNord9 fourni.
df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF'))
df_randNumbers1.ix[:,["A","B"]].plot.kde()
Cependant, en laissant le ()
en dehors de l'extrémité du type de parcelle, vous recevez une non-erreur quelque peu ambiguë.
code erroné:
df_randNumbers1.ix[:,["A","B"]].plot.kde
exemple d'erreur:
<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>
à part ce message d'une ligne, il n'y a aucune trace de pile ou autre raison évidente de penser que vous avez fait une erreur de syntaxe. L'intrigue n'est pas imprimer.