kind example bar python matplotlib pandas

python - example - Trace diferentes DataFrames en la misma figura



plot kind='' bar (4)

Aunque la respuesta de Chang explica cómo trazar varias veces en la misma figura, en este caso puede ser mejor en este caso usando un groupby y unstack :

(Suponiendo que tiene esto en el marco de datos, con el índice de fecha y hora ya)

In [1]: df Out[1]: value datetime 2010-01-01 1 2010-02-01 1 2009-01-01 1 # create additional month and year columns for convenience df[''Month''] = map(lambda x: x.month, df.index) df[''Year''] = map(lambda x: x.year, df.index) In [5]: df.groupby([''Month'',''Year'']).mean().unstack() Out[5]: value Year 2009 2010 Month 1 1 1 2 NaN 1

Ahora es fácil trazar (cada año como una línea separada):

df.groupby([''Month'',''Year'']).mean().unstack().plot()

Tengo un archivo de temperatura con muchos años de registros de temperatura, en un formato como el siguiente:

2012-04-12,16:13:09,20.6 2012-04-12,17:13:09,20.9 2012-04-12,18:13:09,20.6 2007-05-12,19:13:09,5.4 2007-05-12,20:13:09,20.6 2007-05-12,20:13:09,20.6 2005-08-11,11:13:09,20.6 2005-08-11,11:13:09,17.5 2005-08-13,07:13:09,20.6 2006-04-13,01:13:09,20.6

Cada año tiene diferentes números, el tiempo de los registros, por lo que los pandas datetimeindices son todos diferentes.

Quiero trazar los datos del año diferente en la misma figura para comparar. El eje X es de enero a diciembre, el eje Y es la temperatura. ¿Cómo debo hacer esto?


Para hacer esto para múltiples marcos de datos, puede hacer un ciclo para ellos:

fig = plt.figure(num=None, figsize=(10, 8)) ax = dict_of_dfs[''FOO''].column.plot() for BAR in dict_of_dfs.keys(): if BAR == ''FOO'': pass else: dict_of_dfs[BAR].column.plot(ax=ax)


Si tienes un portátil Jupyter / Ipython en ejecución y tienes problemas para usarlo;

ax = df1.plot()

df2.plot(ax=ax)

¡Ejecuta el comando dentro de la misma celda! Por alguna razón, no funcionará cuando se separen en celdas secuenciales. Al menos para mí.


Tratar:

ax = df1.plot() df2.plot(ax=ax)