Una vez que haya hecho su diagrama, debe decírselo a matplotlib show. La forma habitual de hacer las cosas es importar matplotlib.pyploty llamar showdesde 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 matplotlibse ha importado pandasy llamar a la misma showfunción desde allí.
¿Está tratando de evitar llamar matplotliben un esfuerzo por acelerar las cosas? Si es así, realmente no está acelerando nada, ya que pandasya 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 matplotlibes porque se está ejecutando interactivamente en un iPython notebook, no en un script.
ts.plot()?