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
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()
