Comment annoter les nuages de points Matplotlib



Vous pouvez utiliser la syntaxe de base suivante pour annoter des nuages de points dans Matplotlib :

#add 'my text' at (x, y) coordinates = (6, 9.5)
plt.text(6, 9.5, 'my text')

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Créer un nuage de points de base

Le code suivant montre comment créer un nuage de points de base à l’aide de Matplotlib :

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter(x, y)

Annoter un seul point

Nous pouvons utiliser le code suivant pour ajouter une annotation à un seul point du tracé :

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter(x, y)

#add text 'Here' at (x, y) coordinates = (6, 9.5)
plt.text(6, 9.5, 'Here')

Nuage de points avec annotation dans Matplotlib

Annoter plusieurs points

Nous pouvons utiliser le code suivant pour ajouter des annotations à plusieurs points du tracé :

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt.scatter(x, y)

#add text to certain points
plt.text(3, 4.5, 'This')
plt.text(6, 9.5, 'That')
plt.text(8.2, 14, 'Those')

Annoter plusieurs points sur le nuage de points Matplotlib

Annoter tous les points

Nous pouvons utiliser le code suivant pour ajouter des annotations à chaque point du tracé :

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt.scatter(x, y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
    plt.annotate(txt, (x[i], y[i]))

Annoter le nuage de points Matplotlib

Par défaut, les annotations sont placées directement au-dessus des points du nuage de points et la taille de police par défaut est 10.

Le code suivant montre comment ajuster ces deux paramètres afin que les annotations soient légèrement à droite des points et que la taille de la police soit légèrement plus grande :

import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt.scatter(x, y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
    plt.annotate(txt, (x[i]+.25, y[i]), fontsize=12)

Matplotlib annote chaque point de l'intrigue

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :

Comment ajouter une légende au nuage de points dans Matplotlib
Comment colorer un nuage de points par valeur dans Matplotlib
Comment ajouter une ligne moyenne aux tracés dans Matplotlib

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *