en el cuaderno Ipython / Jupyter, Pandas no muestra el gráfico que intento trazar


104

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í. Entonces se ve así:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

El gráfico debería 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 deba importar?


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

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

Respuestas:


177

Tenga en cuenta que --pylab está obsoleto y se ha eliminado de las compilaciones más recientes de IPython. La forma recomendada de habilitar el trazado en línea en IPython Notebook ahora es ejecutar:

%matplotlib inline
import matplotlib.pyplot as plt

Consulte esta publicación de la lista de correo ipython-dev para obtener más detalles.


2
Muy bien. Después de usar %matplotlib inlinemis intentos de trazar, resultó en una imagen visible en línea, agradable. De hecho, la importación no es necesaria si la trama es un método de un objeto ya existente como en OP.
Jan Vlcinsky

2
Esta es la nueva respuesta correcta. Más información en esta publicación de blog .
Scott Lowrey

@Tal Yarkoni Agregué la primera línea de su respuesta para que funcionara. gracias ~~!
verystrongjoe

También se aplica a los pandas en el cuaderno Jupyter.
datalifenyc

En aras de la integridad, %matplotlib nbagges útil en estos días obtener una versión más interactiva.
Frederick Nord

50

Editar: Pylab ha quedado obsoleto, consulte la respuesta aceptada actual

Ok, parece que la respuesta es iniciar el cuaderno ipython con --pylab = inline. así que ipython notebook --pylab = inline Esto hace que haga lo que vi antes y lo que quería que hiciera. Perdón por la vaga pregunta original.


26
Sí, eso es lo que necesitas. También puede ejecutar %pylab inlinedentro de un cuaderno para habilitar el modo pylab.
Thomas K

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 --pylabcon pandas para tener la trama en una ventana adicional, si eso es lo que alguien quiere.
K.-Michael Aye


4

simple después de importar el matplotlib, ha ejecutado una magia si ha iniciado el ipython así

ipython notebook 

%matplotlib inline 

ejecuta este comando todo se mostrará perfectamente


1

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


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


-5

Todo lo que necesita hacer es importar matplotlib.

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

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

Esta respuesta es una repetición de la respuesta aceptada anterior.
chrisfs
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.