Saltar al contenido

Gráfico de barras apiladas horizontales en Matplotlib

Solución:

Aquí hay una solución, aunque estoy seguro de que debe haber una mejor manera de hacerlo. los series.fillna(0) parte reemplaza cualquier nan con 0.

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
plot_chart(df, fig, ax)
ind = arange(df.shape[0])      
ax.barh(ind, df['EndUse_91_1.0'], color="#FFFF00")
lefts = df['EndUse_91_1.0'].fillna(0)
ax.barh(ind, df['EndUse_91_nan'], color="#FFFF00", left=lefts)
lefts = lefts + df['EndUse_91_1.0'].fillna(0)
ax.barh(ind, df['EndUse_80_1.0'], color="#0070C0", left=lefts)
lefts = lefts + df['EndUse_91_1.0'].fillna(0)
ax.barh(ind, df['EndUse_80_nan'], color="#0070C0", left=lefts)
plt.show()

Dado que está utilizando pandas, vale la pena mencionar que puede hacer diagramas de barras apiladas de forma nativa:

df2.plot(kind='bar', stacked=True)

Consulte la sección de visualización de los documentos.

Hubo otra buena respuesta, aquí en Stack Overflow. ¡Dibuja las Hbars mientras las agrega en una lista! Ve a responder.

Solución de otra publicación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *