scatter_matrix plotting from example python matplotlib pandas

python - plotting - Formateo de xlabels datetime en matplotlib(método pandas df.plot())



plot histogram dataframe python (2)

No puedo encontrar la manera de cambiar el formato de estas etiquetas x. Idealmente, me gustaría llamar a strftime(''%Y-%m-%d'') sobre ellos. Intenté cosas como set_major_formatter pero no set_major_formatter éxito.

import pandas as pd import numpy as np date_range = pd.date_range(''2014-01-01'', ''2015-01-01'', freq=''MS'') df = pd.DataFrame({''foo'': np.random.randint(0, 10, len(date_range))}, index=date_range) ax = df.plot(kind=''bar'')


Los objetos en el DF date_range son objetos Timestamp . Llame a Timestamp.strftime en cada objeto:

date_range = pd.date_range(''2014-01-01'', ''2015-01-01'', freq=''MS'') date_range = date_range.map(lambda t: t.strftime(''%Y-%m-%d'')) print date_range array([2014-01-01, 2014-02-01, 2014-03-01, 2014-04-01, 2014-05-01, 2014-06-01, 2014-07-01, 2014-08-01, 2014-09-01, 2014-10-01, 2014-11-01, 2014-12-01, 2015-01-01], dtype=object)

Esto permite opciones de formato más generales frente a truncar la cadena de ticklabel.


Simplemente acceda a las etiquetas y cámbielas:

xtl=[item.get_text()[:10] for item in ax.get_xticklabels()] _=ax.set_xticklabels(xtl)