dans Ipython notebook / Jupyter, Pandas n'affiche pas le graphique que j'essaie de tracer


104

J'essaie de tracer des données à l'aide de pandas dans Ipython Notebook, et bien qu'il me donne l'objet, il ne trace pas réellement le graphique lui-même. Donc ça ressemble à ça:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

Le graphique devrait suivre après cela, mais il n'apparaît tout simplement pas. J'ai importé matplotlib, donc ce n'est pas le problème. Dois-je importer un autre module?


J'ai pu tracer des choses il y a quelques jours, en suivant une vidéo, mais maintenant je n'arrive pas à tracer quoi que ce soit. et je semble faire la même chose que la documentation. pandas.pydata.org/pandas-docs/stable/visualization.html Je pense donc que quelque chose ne va pas avec mon système ou qu'un module n'est pas importé
chrisfs

@chrisfs il y a une nouvelle réponse correcte. Celui que vous avez sélectionné il y a quelques années est désormais incorrect. Envisagez-vous de changer votre réponse acceptée? Merci.
tumultous_rooster

Réponses:


177

Notez que --pylab est obsolète et a été supprimé des nouvelles versions d'IPython. La méthode recommandée pour activer le traçage en ligne dans le bloc-notes IPython est maintenant d'exécuter:

%matplotlib inline
import matplotlib.pyplot as plt

Voir cet article de la liste de diffusion ipython-dev pour plus de détails.


2
Très bien. Après avoir utilisé %matplotlib inlinemes tentatives pour tracer, j'ai obtenu une image visible en ligne, bien. En fait, l'import n'est pas nécessaire si le tracé est une méthode d'objet déjà existant comme dans OP.
Jan Vlcinsky

2
C'est la nouvelle bonne réponse. Plus d'informations dans ce billet de blog .
Scott Lowrey

@Tal Yarkoni J'ai ajouté la première ligne de votre réponse pour que cela fonctionne. merci ~~!
verystrongjoe

S'applique également aux pandas dans le notebook Jupyter.
datalifenyc

Par souci d'exhaustivité, il %matplotlib nbaggest utile de nos jours pour obtenir une version plus interactive.
Frederick Nord

50

Edit: Pylab est obsolète, veuillez consulter la réponse acceptée actuelle

Ok, il semble que la réponse soit de démarrer le notebook ipython avec --pylab = inline. donc ipython notebook --pylab = inline Cela lui permet de faire ce que j'ai vu plus tôt et ce que je voulais qu'il fasse. Désolé pour la question initiale vague.


26
Oui, c'est ce dont vous avez besoin. Vous pouvez également exécuter %pylab inlinedans un bloc-notes pour activer le mode Pylab.
Thomas K

3
notez qu'il n'est pas nécessaire qu'il soit en mode en ligne pour que les pandas fonctionnent. J'utilise volontiers juste ipython notebook --pylabavec des pandas pour avoir l'intrigue dans une fenêtre supplémentaire, si c'est ce que quelqu'un veut.
K.-Michael Aye


4

simple après avoir importé le matplotlib, vous avez exécuté une magie si vous avez démarré l'ipython comme ceci

ipython notebook 

%matplotlib inline 

exécuter cette commande tout sera montré parfaitement


1

démarrez ipython avec ipython notebook --pylab inline, puis le graphique montrera en ligne.


Oui, c'était la première réponse à cette question, mais elle semble également être obsolète maintenant.
chrisfs


-5

Tout ce que vous avez à faire est d' importer matplotlib.

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

hmmm c'est bizarre. Qu'est ce que tu utilises? J'utilise iPython Notebook. mon code ci-dessous. data.plot (kind = 'barh', stacked = True)
l'esprit curieux

Cette réponse est une répétition de la réponse acceptée ci-dessus.
chrisfs
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.