El trazado de varias líneas en iPython / pandas produce varios trazados

Estoy tratando de entender el modelo de máquina de estado de matplotlib, pero me estoy topando con un error al intentar trazar varias líneas en una sola plot. Por lo que entiendo, el siguiente código debe producir una sola gráfica con dos líneas:

import pandas as pd import pandas.io.data as web aapl = web.get_data_yahoo('AAPL', '1/1/2005') # extract adjusted close adj_close = aapl.loc[:, ['Adj Close']] # 2 lines on one plot hold(False) adj_close.resample('M', how='min').plot() adj_close.resample('M', how='max').plot() 

De hecho, obtengo tres cifras: primero una en blanco y luego dos con una línea cada una.

parcela en blancoprimera parcelasegunda parcela

¿Alguna idea de qué estoy haciendo mal o qué configuración en mi sistema podría estar mal configurada?

Puede crear previamente un objeto de eje usando el paquete de la plot de pyplot y luego agregar los gráficos a este objeto de eje:

 import pandas as pd import pandas.io.data as web import matplotlib.pyplot as plt aapl = web.get_data_yahoo('AAPL', '1/1/2005') # extract adjusted close adj_close = aapl.loc[:, ['Adj Close']] # 2 lines on one plot #hold(False) fig, ax = plt.subplots(1, 1) adj_close.resample('M', how='min').plot(ax=ax) adj_close.resample('M', how='max').plot(ax=ax) 

Ejemplo de trama

De forma alternativa, podría agrupar las dos series en el dataframe amx 2 y trazar el dataframe en su lugar:

 s1 = adj_close.resample('M', how='min') s2 = adj_close.resample('M', how='max') df = pd.concat([s1, s2], axis=1) df.plot()