Comment ajouter du texte aux tracés Matplotlib (avec exemples)
Vous pouvez facilement ajouter du texte à un tracé Matplotlib en utilisant la fonction matplotlib.pyplot.text() , qui utilise la syntaxe suivante :
matplotlib.pyplot.text(x, y, s, fontdict=Aucun)
où:
- x : La coordonnée x du texte
- y : La coordonnée y du texte
- s : la chaîne de texte
- fontdict : un dictionnaire pour remplacer les propriétés de texte par défaut
Ce tutoriel montre plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : ajouter un texte unique à un tracé Matplotlib
Le code suivant montre comment créer un nuage de points et ajouter un seul morceau de texte au 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 at (x, y) coordinates = (6, 9.5)
plt.text(6, 9.5, 'Here we go')
Exemple 2 : ajouter plusieurs textes à un tracé Matplotlib
Le code suivant montre comment créer un nuage de points et ajouter plusieurs morceaux de texte au 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 at (x, y) coordinates = (6, 9.5)
plt.text(6, 9.5, 'A piece of text')
#add another piece of text
plt.text(8, 13, 'Another piece of text')
Exemple 3 : modifier les propriétés du texte
Pour modifier les propriétés du texte, nous pouvons créer un dictionnaire qui spécifie les propriétés de la police.
Le code suivant montre comment procéder :
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)
font = {'family': 'serif',
'color': 'red',
'weight': 'bold',
'size': 20
}
#add text with custom font
plt.text(6, 9.5, 'A piece of text', fontdict=font)
Exemple 4 : Ajouter un cadre autour du texte
Le code suivant montre comment ajouter un cadre autour du texte :
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)
font = {'family': 'serif',
'color': 'red',
'weight': 'bold',
'size': 20
}
box = {'facecolor': 'none',
'edgecolor': 'green',
'boxstyle': 'round'
}
#add text with custom font
plt.text(6, 9.5, 'A piece of text', fontdict=font, bbox=box)
Ressources additionnelles
Comment annoter les nuages de points Matplotlib
Comment modifier la taille des polices sur un tracé Matplotlib