visualizacion torta graficos grafico graficas grafica dispersion datos con barras analisis python python-3.x pandas matplotlib bar-chart

python - torta - matplotlib: traza columnas múltiples del marco de datos de pandas en el gráfico de barras



python graficos web (2)

Estoy usando el siguiente código para trazar un gráfico de barras:

import matplotlib.pyplot as pls my_df.plot(x=''my_timestampe'', y=''col_A'', kind=''bar'') plt.show()

La trama funciona bien. Sin embargo, quiero mejorar el gráfico al tener 3 columnas: ''col_A'', ''col_B'' y ''col_C'', todo en la gráfica. Como en la siguiente figura de ejemplo:

Me gustaría que col_A muestre en azul sobre el eje x, col_B en rojo debajo del eje x, y col_C en verde sobre el eje x. ¿Es esto algo posible en matplotlib? ¿Cómo hago cambios para trazar las tres columnas? ¡Gracias!


Aunque la respuesta aceptada funciona bien, ya que v0.21.0rc1 da una advertencia

Advertencia para el usuario: las pandas no permiten que se creen columnas a través de un nuevo nombre de atributo

En su lugar, uno puede hacer

df[["X", "A", "B", "C"]].plot(x="X", kind="bar")


Puede trazar varias columnas a la vez proporcionando una lista de nombres de columnas al plot del plot .

df.plot(x="X", y=["A", "B", "C"], kind="bar")

Esto producirá un gráfico donde las barras están sentadas una al lado de la otra.

Para que se superpongan, debe llamar a plot varias veces y proporcionar los ejes para trazar como argumento ax a la trama.

import pandas as pd import matplotlib.pyplot as plt import numpy as np y = np.random.rand(10,4) y[:,0]= np.arange(10) df = pd.DataFrame(y, columns=["X", "A", "B", "C"]) ax = df.plot(x="X", y="A", kind="bar") df.plot(x="X", y="B", kind="bar", ax=ax, color="C2") df.plot(x="X", y="C", kind="bar", ax=ax, color="C3") plt.show()