2012-05-09 7 views
77

Sto provando a tracciare alcuni dati usando i panda in Ipython Notebook, e mentre mi dà l'oggetto, in realtà non traccia il grafico stesso. Così appare:nel notebook Ipython, Pandas non sta visualizzando il grafico che cerco di tracciare

In [7]: 

pledge.Amount.plot() 

Out[7]: 

<matplotlib.axes.AxesSubplot at 0x9397c6c> 

Il grafico dovrebbe seguire dopo, ma semplicemente non appare. Ho importato matplotlib, quindi non è questo il problema. C'è qualche altro modulo che devo importare?

+0

sei stato in grado di tracciare altre cose con codice (simile)? –

+0

Sono stato in grado di tracciare le cose un paio di giorni fa, mentre seguivo un video, ma ora non riesco a tracciare nulla. e sembra che stia facendo la stessa cosa della documentazione. http://pandas.pydata.org/pandas-docs/stable/visualization.html Quindi immagino che qualcosa con il mio sistema sia sbagliato o che un modulo non sia importato – chrisfs

+0

@chrisfs c'è una nuova risposta corretta. Quello che hai selezionato alcuni anni fa è ora errato. Prenderesti in considerazione di cambiare la tua risposta accettata? Grazie. –

risposta

136

Si noti che --pylab è deprecato ed è stato rimosso dalle nuove versioni di IPython, quindi la risposta accettata non funzionerà più. Il metodo consigliato per consentire in linea tracciando nel Notebook IPython è ora di correre:

%matplotlib inline 
import matplotlib.pyplot as plt 

Vedi this post dalla mailing list ipython-dev per ulteriori dettagli.

+2

Molto buono. Dopo aver usato '% matplotlib inline' i miei tentativi di tracciare hanno portato a un'immagine visibile in linea, bella. In effetti, l'importazione non è necessaria se la trama è il metodo di un oggetto già esistente come in OP. –

+2

Questa è la nuova risposta corretta. Maggiori informazioni [in questo post del blog] (http://nbviewer.ipython.org/github/Carreau/posts/blob/master/10-No-PyLab-Thanks.ipynb). –

+1

Questa è sicuramente la risposta corretta, per chiunque stia navigando. – AwokeKnowing

21

Con il vostro import matplotlib.pyplot as plt basta aggiungere

plt.show() 

e mostrerà tutti i grafici memorizzati.

+1

ok che aiuta. Pensavo che Ipython avrebbe eseguito automaticamente i grafici in linea. Anche la documentazione per i panda non mostra di dover fare plt.show() http://pandas.pydata.org/pandas-docs/stable/visualization.html – chrisfs

50

Ok, sembra che la risposta sia avviare il notebook ipython con --pylab = inline. così notebook ipython --pylab = inline Questo ha fatto ciò che ho visto prima e cosa volevo che facesse. Ci scusiamo per la vaga domanda originale.

+26

Sì, questo è quello che ti serve. Puoi anche eseguire '% pylab inline' all'interno di un notebook per abilitare la modalità pylab. –

+3

nota che non deve essere in modalità inline, anche se i panda funzionano. Sto usando felicemente 'ipython notebook --pylab' con i panda per avere la trama in una finestra aggiuntiva, se è quello che qualcuno vuole. –

1

avviare ipython con ipython notebook --pylab inline, quindi il grafico mostrerà in linea.

+0

Sì, quella era la prima risposta a questa domanda, ma sembra anche essere deprecata ora. – chrisfs

4

semplice dopo l'importazione del matplotlib si dispone di eseguire una magia se avete iniziato l'ipython come come questo

ipython notebook 

%matplotlib inline 

esegue questo comando tutto verrà mostrato perfettamente

-1

Tutto quello che dovete fare è quello di importazione matplotlib.

import matplotlib.pyplot as plt 
+0

'Ho importato matplotlib' – WoodChopper

+0

hmmm che è strano. cosa usi? Uso iPython Notebook. il mio codice qui sotto. data.plot (kind = 'barh', stacked = True) – aybuke

+0

Questa risposta è una ripetizione della risposta accettata sopra. – chrisfs

Problemi correlati