Una vez que haya hecho su diagrama, debe decírselo a matplotlib show
. La forma habitual de hacer las cosas es importar matplotlib.pyplot
y llamar show
desde allí:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts.plot()
plt.show()
Dado que solicitó no hacer eso (¿por qué?), Puede usar el siguiente [NOTA: Parece que esto ya no funciona con las versiones más recientes de pandas
]:
import numpy as np
import pandas as pd
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts.plot()
pd.tseries.plotting.pylab.show()
Pero todo lo que está haciendo allí es encontrar un lugar que matplotlib
se ha importado pandas
y llamar a la misma show
función desde allí.
¿Está tratando de evitar llamar matplotlib
en un esfuerzo por acelerar las cosas? Si es así, realmente no está acelerando nada, ya que pandas
ya importa pyplot
:
python -mtimeit -s 'import pandas as pd'
100000000 loops, best of 3: 0.0122 usec per loop
python -mtimeit -s 'import pandas as pd; import matplotlib.pyplot as plt'
100000000 loops, best of 3: 0.0125 usec per loop
Finalmente, la razón por la que el ejemplo que vinculó en los comentarios no necesita la llamada matplotlib
es porque se está ejecutando interactivamente en un iPython notebook
, no en un script.
ts.plot()
?