pandas: ¿cómo puedo mostrar líneas de ceñida menores en el eje x en pd.DataFrame.plot ()

¿Hay alguna manera de controlar el formato de cuadrícula al hacer pandas.DataFrame.plot ()?

Específicamente, me gustaría mostrar las líneas de cuadrícula menores para trazar un DataFrame con un eje x que tenga un DateTimeIndex.

¿Es esto posible a través de DataFrame.plot ()?

df = pd.DataFrame.from_csv(csv_file, parse_dates=True, sep=' ')
0

3 Respuestas

DataFrame.plot() should return an Axes object from matplotlib.

Entonces, con ax = df.plot (...) , puedes hacer:

ax.xaxis.grid (True, which = 'minor', linestyle = '-', linewidth = 0.25, ...)

0
agregado
impresionante, no me di cuenta de que plot() devolvió un objeto de ejes. Entonces, ¿supongo que un gráfico png se muestra en un cuaderno IPython en modo scilab porque el portátil detecta la presencia de un objeto de eje?
agregado el autor user2846226, fuente

this will plot S&p500 with minor xticks and grids at weekly frequency:

import pandas.io.data as web
ts = web.DataReader("^GSPC", "yahoo", start=dt.date( 2013, 6, 1 ))[ 'Adj Close' ]

ax = ts.plot()
xtick = pd.date_range( start=ts.index.min( ), end=ts.index.max( ), freq='W' )
ax.set_xticks( xtick, minor=True )
ax.grid('on', which='minor', axis='x' )
ax.grid('off', which='major', axis='x' )

ingresar la descripción de la imagen aquí

0
agregado
agradable, pero ¿cómo puedo hacer esto usando un DataFrame, como figura en mi pregunta? No puedo encontrar un equivalente de ts.index.min (), para un DataFrame - df.idxmin() devuelve una serie ...
agregado el autor user2846226, fuente
de hecho, es un error del usuario
agregado el autor user2846226, fuente
@ user2846226 para un DataFrame df.index.min() debería funcionar también, a menos que sea multi-índice
agregado el autor behzad.nouri, fuente

Tal vez esta característica no existía el año pasado, pero en la versión 0.19.2 puedes hacer lo siguiente:

df.plot(grid=True)

Consulte el doc .

0
agregado