Graphique à barres empilées avec étiquettes centrées : une solution améliorée utilisant bar_label
Dans matplotlib, une méthode raffinée pour centrer avec précision les étiquettes de données dans un empilement Le graphique à barres est disponible à l'aide de la fonction bar_label. Voici comment procéder :
-
Importer les modules nécessaires : Commencez par importer les bibliothèques essentielles.
import pandas as pd
import matplotlib.pyplot as plt
Copier après la connexion
-
Créer et remplissez votre DataFrame : Pour créer un graphique à barres empilées, il est recommandé d'utiliser un pandas DataFrame. Voici un exemple de DataFrame avec trois colonnes : "A", "B" et "C".
# sample DataFrame
df = pd.DataFrame({'A': [45, 17, 47], 'B': [91, 70, 72], 'C': [68, 43, 13]})
Copier après la connexion
-
Tracez le graphique à barres empilées : utilisez le DataFrame pour tracer la barre empilée graphique.
ax = df.plot(kind='bar', stacked=True, figsize=(8, 6), rot=0, xlabel='Class', ylabel='Count')
Copier après la connexion
-
Étiquetez les barres : Maintenant, étiquetons les barres tout en nous assurant qu'elles sont centrées. Utilisez bar_label pour y parvenir.
for c in ax.containers:
ax.bar_label(c, label_type='center')
Copier après la connexion
Personnalisation facultative
-
Zéro ou petites étiquettes : pour les segments avec zéro ou de petites valeurs, ajustez la visibilité de l'étiquette selon vos besoins. Par exemple, affichez les valeurs uniquement lorsqu'elles dépassent un certain seuil ou utilisez l'option label_type='edge'.
labels = [v.get_height() if v.get_height() > 0 else '' for v in c] # for segments with small or zero values
Copier après la connexion
-
Format personnalisé : Modifier le libellé format pour répondre à vos exigences.
ax.bar_label(c, fmt=lambda x: f'{x:.0f}' if x > 0 else '', label_type='center') # to show no decimal places
Copier après la connexion
Seaborn Alternative
Si vous préférez travailler avec Seaborn, vous pouvez également créer un graphique à barres empilées et étiqueter les barres.
-
Préparez le DataFrame : similaire vers matplotlib, créez un DataFrame pandas avec les données.
-
Convertissez le DataFrame en long form : seaborn nécessite que le DataFrame soit sous une forme longue, ce qui peut être obtenu en utilisant melt.
-
Tracez le graphique et étiquetez les barres : tracez le graphique à barres empilées et appliquez bar_label comme dans matplotlib.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!