Annotations simples avec Matplotlib

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guidera tout au long du processus d'ajout d'annotations à vos tracés Matplotlib. Les annotations aident à mettre en évidence des points de données spécifiques ou à fournir des informations supplémentaires au spectateur. Les annotations peuvent inclure du texte, des flèches et des formes. Vous allez apprendre à ajouter des annotations à votre tracé, à les personnaliser et à les positionner.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Import Matplotlib

Avant de pouvoir commencer à travailler avec Matplotlib, nous devons l'importer. Le code suivant importera Matplotlib et nous permettra d'utiliser ses fonctions de tracé.

import matplotlib.pyplot as plt

Créez un tracé

Nous allons maintenant créer un tracé pour y ajouter des annotations. Le code suivant créera un tracé avec deux points de données.

fig, ax = plt.subplots()
x = [1, 2]
y = [3, 4]
ax.plot(x, y, "o")

Ajoutez une annotation de texte

Nous allons maintenant ajouter une annotation de texte au tracé. Le code suivant ajoutera le texte "Point de données 1" au premier point de données.

ax.annotate("Point de données 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05))

Ajoutez une annotation fléchée

Nous allons maintenant ajouter une annotation fléchée au tracé. Le code suivant ajoutera une flèche du premier point de données au second point de données.

ax.annotate("", xy=(1, 3), xytext=(2, 4),
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3"))

Ajoutez une annotation de forme

Nous allons maintenant ajouter une annotation de forme au tracé. Le code suivant ajoutera un rectangle autour du second point de données.

bbox = dict(boxstyle="round", fc="0.8")
ax.annotate("Point de données 2", xy=(2, 4), xytext=(2.5, 4.5),
            bbox=bbox,
            arrowprops=dict(facecolor="black", shrink=0.05))

Personnalisez les annotations

Nous pouvons personnaliser les annotations en changeant la taille de police, la couleur de police et le style de flèche. Le code suivant changera la taille de police, la couleur de police et le style de flèche de l'annotation de texte.

ax.annotate("Point de données 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05, arrowstyle="->"),
            fontsize=12, color="red")

Positionnez les annotations

Nous pouvons positionner les annotations en utilisant différents systèmes de coordonnées. Le code suivant positionnera l'annotation de texte en utilisant les coordonnées de données et l'annotation fléchée en utilisant les coordonnées de la figure.

ax.annotate("Point de données 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="data")
ax.annotate("", xy=(1, 3), xytext=(0.5, 0.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="figure fraction")

Sommaire

Dans ce laboratoire, vous avez appris à ajouter des annotations à vos tracés Matplotlib. Vous avez appris à ajouter des annotations de texte, de flèche et de forme, à les personnaliser et à les positionner. Les annotations aident à souligner des points de données spécifiques ou à fournir des informations supplémentaires au spectateur.