Comment faire pour ordinateur portable IPython matplotlib intrigue en ligne



Answers

Si votre version matplotlib est supérieure à 1,4, il est également possible d'utiliser

IPython 3.x et supérieur

%matplotlib notebook

import matplotlib.pyplot as plt

Versions plus anciennes

%matplotlib nbagg

import matplotlib.pyplot as plt

Les deux vont activer le backend nbagg , ce qui permet l'interactivité.

Question

J'essaie d'utiliser IPython portable sur MacOS X avec Python 2.7.2 et IPython 1.1.0.

Je ne peux pas obtenir les graphiques 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 de 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 graphiques en ligne, je reçois ceci:

<matplotlib.figure.Figure at 0x110b9c450>

Et matplotlib.get_backend() montre que j'ai le backend 'module://IPython.kernel.zmq.pylab.backend_inline' .







Sur Ubuntu, vous pouvez supprimer %matplotlib inline tant que vous avez plt.show() après la création du graphe.




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 complot. Tout fonctionne comme prévu avec les importations et la magie fournies par .

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 signe () à la fin du type de tracé, vous obtenez une non-erreur quelque peu ambiguë.

Code erronious:

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

Exemple d'erreur:

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

Autre que ce message d'une ligne, il n'y a aucune trace de pile ou autre raison évidente pour penser que vous avez fait une erreur de syntaxe. L'intrigue ne s'imprime pas.




Je ne sais pas pourquoi joaquin posté sa réponse comme un commentaire, mais c'est la bonne réponse:

démarrer ipython avec ipython notebook --pylab inline

Edit: Ok, ceci est maintenant obsolète selon les commentaires ci-dessous. Utilisez la magie% pylab.




Related