in Ipython notebook / Jupyter, Pandas non mostra il grafico che cerco di tracciare


104

Sto cercando di tracciare alcuni dati usando i panda in Ipython Notebook e, sebbene mi fornisca l'oggetto, in realtà non traccia il grafico stesso. Quindi sembra così:

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?


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 mi sembra di fare la stessa cosa della documentazione. pandas.pydata.org/pandas-docs/stable/visualization.html Quindi immagino che qualcosa nel mio sistema sia sbagliato o un modulo non sia importato
chrisfs

@chrisfs c'è una risposta corretta più recente. Quello che hai selezionato alcuni anni fa ora non è corretto. Considererai la possibilità di modificare la tua risposta accettata? Grazie.
tumultous_rooster

Risposte:


177

Si noti che --pylab è deprecato ed è stato rimosso dalle build più recenti di IPython, il modo consigliato per abilitare la stampa in linea nel notebook IPython è ora di eseguire:

%matplotlib inline
import matplotlib.pyplot as plt

Vedi questo post dalla mailing list ipython-dev per maggiori dettagli.


2
Molto bene. Dopo aver usato i %matplotlib inlinemiei tentativi di tracciare un'immagine visibile in linea, bella. Infatti, l'importazione non è necessaria se la trama è metodo di oggetti già esistenti come in OP.
Jan Vlcinsky

2
Questa è la nuova risposta corretta. Maggiori informazioni in questo post del blog .
Scott Lowrey

@ Tal Yarkoni ho aggiunto la prima riga della tua risposta in modo che funzionasse. grazie ~~!
verystrongjoe

Vale anche per i panda nel taccuino Jupyter.
datalifenyc

Per completezza, %matplotlib nbaggè utile in questi giorni ottenere una versione più interattiva.
Frederick Nord

50

Modifica: Pylab è stato deprecato, vedere la risposta attualmente accettata

Ok, sembra che la risposta sia avviare ipython notebook con --pylab = inline. quindi ipython notebook --pylab = inline Questo ha quello che ho visto prima e quello che volevo che facesse. Scusa per la vaga domanda originale.


26
Sì, è quello che ti serve. Puoi anche eseguire %pylab inlineall'interno di un notebook per abilitare la modalità pylab.
Thomas K

3
nota che non deve essere in modalità in linea anche se i panda funzioneranno. Sto felicemente usando solo ipython notebook --pylabcon i panda per avere la trama in una finestra in più, se è quello che qualcuno vuole.
K.-Michael Aye


4

semplice dopo aver importato il matplotlib devi eseguire una magia se hai avviato ipython in questo modo

ipython notebook 

%matplotlib inline 

esegui questo comando tutto verrà mostrato perfettamente


1

avvia ipython con ipython notebook --pylab inline, quindi il grafico verrà visualizzato in linea.


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


-5

Tutto quello che devi fare è importare matplotlib.

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

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

Questa risposta è una ripetizione della risposta accettata sopra.
Chrisfs
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.