Comment aligner correctement les barres et ajouter des annotations dans un graphique à barres groupées avec Matplotlib ?

Barbara Streisand
Libérer: 2024-10-26 14:57:03
original
659 Les gens l'ont consulté

How to Correctly Align Bars and Add Annotations in a Grouped Bar Chart with Matplotlib?

Traçage et annotation d'un graphique à barres groupées

Ce guide aborde un problème fréquemment rencontré dans matplotlib lors de la création d'un graphique à barres groupé. Le code fourni vise à visualiser l'intérêt des répondants pour divers domaines de la science des données avec des barres représentant leurs niveaux d'intérêt (Très intéressé, Plutôt intéressé, Pas intéressé).

Analyse du problème

Le problème dans le code fourni réside dans le calcul des largeurs des barres. Le code définit w=0,8 sans tenir compte du nombre de barres dans le tracé. Pour aligner correctement les barres, w doit être divisé par le nombre de barres.

Solution

Pour résoudre ce problème, ajustez le calcul de la largeur des barres pour prendre en compte le nombre de barres dans l'intrigue. Une approche plus efficace consiste à utiliser la méthode pandas.DataFrame.plot pour générer le tracé avec des annotations.

Code mis à jour à l'aide de DataFrame.plot

<code class="python">import pandas as pd
import matplotlib.pyplot as plt

# Create the DataFrame
file = "https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/coursera/Topic_Survey_Assignment.csv"
df = pd.read_csv(file, index_col=0)

# Calculate percentages
df = df.div(2233)

# Plot the grouped bar chart
ax = df.plot.bar(color=['#5cb85c', '#5bc0de', '#d9534f'], figsize=(20, 8), rot=0, ylabel='Percentage', title="The percentage of the respondents' interest in the different data science Area")

# Add annotations
for p in ax.patches:
    ax.annotate(f'{p.get_height():0.2f}', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points')</code>
Copier après la connexion

Sortie :

[Image du graphique à barres corrigé]

Ce code mis à jour génère un graphique à barres groupé correctement aligné avec des annotations indiquant les pourcentages pour chaque barre.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!