Matplotlib intermédiaire

Annotations, texte et lignes de référence

Pointez les valeurs importantes avec ax.annotate, ajoutez des notes avec ax.text et marquez un objectif avec axhline.

Introduction

Un bon graphique indique au lecteur où regarder. ax.annotate écrit une étiquette avec une flèche vers un point, ax.text place du texte libre, et ax.axhline ou ax.axvline trace une ligne de référence comme une moyenne ou un objectif.

xy est le point visé par la flèche et xytext l'endroit de l'étiquette ; arrowprops dessine la flèche. Avec des catégories texte, les positions x valent 0, 1, 2, etc., donc le meilleur mois est en x = best. axhline trace la moyenne sur toute la largeur et ax.text explique la ligne pointillée.

Visualiseur interactif

Choisissez le point à annoter, retirez la flèche et la ligne de moyenne, et voyez quelle ligne de code dessine chaque élément.

Exemple Matplotlib exécutable

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

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales = [12, 15, 14, 22, 19, 17]
best = sales.index(max(sales))
average = sum(sales) / len(sales)

fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(months, sales, marker="o")
ax.annotate(f"Best month: {sales[best]}k", xy=(best, sales[best]), xytext=(best + 0.5, sales[best] + 1.5),
            arrowprops=dict(arrowstyle="->"))
ax.axhline(average, color="gray", linestyle="--")
ax.text(0, average + 0.4, f"average {average:.1f}k", color="gray")
ax.set_ylim(10, 25)
ax.set_title("Sales by month")
plt.show()
Obtenir un bouton Run pour cet exemple Le graphique tracé par ce code
Annotations, texte et lignes de référence