Función para crear gráfico de barras agrupadas.

El objective aquí es crear una gráfica de barras agrupada, no subplots como la imagen de abajo

¿Hay una forma sencilla de crear un gráfico de barras agrupadas en Python? En este momento, obtengo diagtwigs de barras independientes, en lugar de barras separadas en una gráfica.

df = pd.DataFrame([['g1','c1',10],['g1','c2',12],['g1','c3',13],['g2','c1',8],['g2','c2',10],['g2','c3',12]],columns=['group','column','val']) %matplotlib inline df.groupby(['group']).plot(kind='bar') 

introduzca la descripción de la imagen aquí

Las pandas mostrarán barras agrupadas por columnas. Las entradas en cada fila, pero diferentes columnas constituirán un grupo en el gráfico resultante. Por lo tanto, debe “remodelar” su dataframe para tener el “grupo” como columnas. En este caso puedes pivotar como

 df.pivot("column", "group", "val") 

productor

 group g1 g2 column c1 10 8 c2 12 10 c3 13 12 

Al trazar esto se obtendrá un gráfico de barras agrupadas.

 import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame([['g1','c1',10],['g1','c2',12],['g1','c3',13],['g2','c1',8], ['g2','c2',10],['g2','c3',12]],columns=['group','column','val']) df.pivot("column", "group", "val").plot(kind='bar') plt.show() 

introduzca la descripción de la imagen aquí