Cómo anotar gráficos de barras horizontales con conteo y porcentaje.
Cómo puedo obtener los recuentos y porcentajes a la derecha de cada barra? Actualmente solo sé cómo obtener los recuentos.
import pandas as pd
import matplotlib.pyplot as plt
age = ['0-17','18-60','61-80']
df3 = pd.DataFrame(data={'Hombres':[82,550,25], 'Mujeres':[72,309,7]}, index=age)
print(df3)
ax = df3.plot(kind='barh', ylabel='Edad', title='Recuento de pasajeros por edad y sexo')
ax.set(xlabel='No. de Pasajeros')
for c in ax.containers:
# establecer la etiqueta de la barra
ax.bar_label(c, fmt='%.0f', label_type='edge')
ax.legend(title='Sexo', bbox_to_anchor=(1, 1.02), loc='upper left')
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.show()
davy.ai
Para obtener los porcentajes a la derecha de cada barra, puede modificar el código para calcular los porcentajes y agregar las etiquetas usando el método
ax.text ()
. Aquí hay un ejemplo:Esto agregará las etiquetas de porcentaje en el lado derecho de cada barra. Cambie el formato de las etiquetas según sus preferencias.