Exercice 72 / 100

Matplotlib — Bar Chart

Crée un diagramme en barres

Un bar chart représente des valeurs sous forme de barres. Idéal pour comparer des catégories.

Syntaxe

plt.bar(categories, valeurs)

Les deux listes doivent avoir la même longueur. Chaque catégorie devient une barre.

Variantes

plt.bar(x, y) barres verticales plt.barh(x, y) barres horizontales (utile pour beaucoup de labels)

Personnalisation

plt.bar(cats, vals, color=['#F0A500', '#00C878', '#9B6DFF', '#3B9EFF'], # une couleur par barre edgecolor='black', width=0.8 # largeur (0 à 1) )

Exemple complet

categories = ['Python', 'SQL', 'Maths', 'Anglais'] scores = [85, 72, 90, 68] colors = ['#F0A500', '#00C878', '#9B6DFF', '#3B9EFF']
plt.figure(figsize=(8, 5)) plt.bar(categories, scores, color=colors) plt.title('Scores par module') plt.ylabel('Score (%)') plt.ylim(0, 100) plt.savefig('/tmp/barplot.png')

Afficher les valeurs au-dessus des barres

bars = plt.bar(categories, scores) for bar, v in zip(bars, scores): plt.text(bar.get_x() + bar.get_width()/2, v + 1, str(v), ha='center')

Barres groupées ou empilées

Barres groupées (côte à côte) :

import numpy as np x = np.arange(len(categories)) plt.bar(x - 0.2, serie1, width=0.4, label='2025') plt.bar(x + 0.2, serie2, width=0.4, label='2026') plt.xticks(x, categories)

Barres empilées

plt.bar(categories, serie1, label='A') plt.bar(categories, serie2, bottom=serie1, label='B')
Des barres empilées se posent l'une sur l'autre : le paramètre bottom dit à chaque série où commencer, c'est-à-dire à la hauteur où finit la série précédente

plt.bar n'est pas un histogramme : un histogramme (plt.hist) compte la fréquence d'une variable continue, alors qu'un bar chart représente des valeurs déjà calculées par catégorie.

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →