Matplotlib intermédiaire

Barres empilées et graphiques en aires

Montrez comment des parts s'additionnent dans le temps avec des barres empilées (bottom=) et ax.stackplot.

Introduction

Quand plusieurs séries forment un total, empilez-les. Chaque barre commence où la précédente s'arrête : la hauteur totale est le total et chaque partie colorée une série. ax.stackplot fait de même avec des aires remplies.

bottom= indique à chaque appel de ax.bar où ses barres commencent : mobile part du haut de desktop, et tablet du haut des deux. Avec des tableaux NumPy, desktop + mobile additionne les valeurs année par année. La hauteur de chaque barre est le total des visites de l'année, et la légende distingue les parties.

Visualiseur interactif

Comparez barres empilées, barres groupées et graphique en aires, puis passez en pourcentages pour voir la part de chaque appareil.

Exemple Matplotlib exécutable

Matplotlib
Exécuter le code →
main.py
import matplotlib.pyplot as plt
import numpy as np

years = ["2022", "2023", "2024", "2025"]
desktop = np.array([50, 48, 45, 40])
mobile = np.array([30, 45, 60, 80])
tablet = np.array([10, 12, 11, 9])

fig, ax = plt.subplots(figsize=(7, 4))
ax.bar(years, desktop, label="Desktop")
ax.bar(years, mobile, bottom=desktop, label="Mobile")
ax.bar(years, tablet, bottom=desktop + mobile, label="Tablet")
ax.set_ylabel("Visits (thousands)")
ax.set_title("Visits by device")
ax.legend()
plt.show()
Obtenir un bouton Run pour cet exemple Le graphique tracé par ce code
Barres empilées et graphiques en aires