Exercice 72 / 100

Matplotlib — Bar Chart

ConsigneCrée un diagramme en barres

📖 Cours

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 verticalesplt.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 npx = 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
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.

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