2012-05-09 18 views
77

Estoy tratando de trazar algunos datos usando pandas en Ipython Notebook, y aunque me da el objeto, en realidad no traza el gráfico en sí. Por lo tanto, se ve así:en el cuaderno Ipython, Pandas no muestra el gráfico Intento trazar

In [7]: 

pledge.Amount.plot() 

Out[7]: 

<matplotlib.axes.AxesSubplot at 0x9397c6c> 

El gráfico debe seguir después de eso, pero simplemente no aparece. He importado matplotlib, así que ese no es el problema. ¿Hay algún otro módulo que necesite importar?

+0

que han sido capaces de trazar otras cosas con el código (similar)? –

+0

Pude trazar cosas hace un par de días, mientras seguía un video, pero ahora parece que no puedo tramar nada. y parece que estoy haciendo lo mismo que la documentación. http://pandas.pydata.org/pandas-docs/stable/visualization.html Así que me imagino que algo con mi sistema es incorrecto o no se importa un módulo – chrisfs

+0

@chrisfs hay una respuesta correcta más nueva. El que seleccionó hace unos años ahora es incorrecto. ¿Considerarás cambiar tu respuesta aceptada? Gracias. –

Respuesta

136

Tenga en cuenta que --pylab está en desuso y se ha eliminado de las versiones más nuevas de IPython, por lo que la respuesta aceptada ya no funcionará. La forma recomendada para permitir el trazado de línea en el Cuaderno IPython es ahora para funcionar:

%matplotlib inline 
import matplotlib.pyplot as plt 

Ver this post de la lista de correo ipython-dev para más detalles.

+2

Muy bien. Después de usar '% matplotlib inline' mis intentos de trazar dieron como resultado una imagen visible en línea, agradable. De hecho, la importación no es necesaria si el argumento es un método de un objeto existente como en OP. –

+2

Esta es la nueva respuesta correcta. Más información [en esta publicación de blog] (http://nbviewer.ipython.org/github/Carreau/posts/blob/master/10-No-PyLab-Thanks.ipynb). –

+1

Esta es definitivamente la respuesta correcta, para cualquier persona que navega. – AwokeKnowing

21

Con su import matplotlib.pyplot as plt sólo tiene que añadir

plt.show() 

y mostrará todas las parcelas almacenados.

+1

bien eso ayuda. Pensé que Ipython haría trazados en línea automáticamente. La documentación para pandas tampoco muestra tener que hacer plt.show() http://pandas.pydata.org/pandas-docs/stable/visualization.html – chrisfs

50

Ok, parece que la respuesta es iniciar el cuaderno ipython con --pylab = en línea. por lo que ipython notebook --pylab = en línea Esto tiene que hacer lo que vi antes y lo que quería que hiciera. Disculpa por la vaga pregunta original.

+26

Sí, eso es lo que necesita. También puede ejecutar '% pylab inline' dentro de una computadora portátil para habilitar el modo pylab. –

+3

tenga en cuenta que no tiene que estar en modo en línea para que los pandas funcionen. Estoy felizmente usando solo 'ipython notebook --pylab' con pandas para tener la trama en una ventana extra, si eso es lo que quiere alguien. –

1

iniciar ipython con ipython notebook --pylab inline, luego el gráfico se mostrará en línea.

+0

Sí, esa fue la primera respuesta a esta pregunta, pero también parece estar en desuso ahora. – chrisfs

4

sencilla después de importar el matplotlib tiene ejecutar una magia si ha comenzado la ipython como como esto

ipython notebook 

%matplotlib inline 

plazo se mostrará este comando todo perfectamente

-1

Todo lo que necesita hacer es importar matplotlib.

import matplotlib.pyplot as plt 
+0

'He importado matplotlib' – WoodChopper

+0

hmmm eso es raro. ¿Que usas? Yo uso iPython Notebook. mi código a continuación. data.plot (kind = 'barh', apilado = True) – aybuke

+0

Esta respuesta es una repetición de la respuesta aceptada anteriormente. – chrisfs

Cuestiones relacionadas