Introduction
Matplotlib est une bibliothèque de visualisation de données largement utilisée en Python. Elle fournit une variété d'outils pour créer différents types de graphiques, y compris des sous-graphiques. Lors de la création de sous-graphiques, il est souvent utile d'étiqueter chaque graphique pour faciliter la compréhension des informations présentées par le lecteur. Dans ce laboratoire, nous allons apprendre à étiqueter les sous-graphiques à l'aide des différentes méthodes fournies par Matplotlib.
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 de notes pour accéder au carnet Jupyter pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.
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.
Importation des bibliothèques
La première étape consiste à importer les bibliothèques requises. Nous utiliserons matplotlib.pyplot et matplotlib.transforms pour créer et transformer les sous-graphiques.
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
Création de sous-graphiques
Ensuite, nous créons les sous-graphiques à l'aide de plt.subplot_mosaic. Nous allons créer une grille 3x2 de sous-graphiques et les étiqueter comme suit :
- Le graphique en haut à gauche sera étiqueté "a)"
- Le graphique en bas à gauche sera étiqueté "b)"
- Les graphiques en haut à droite et en bas à droite seront étiquetés "c)" et "d)" respectivement.
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']], layout='constrained')
Étiquetage à l'intérieur des axes
La méthode la plus simple pour étiqueter les sous-graphiques consiste à placer l'étiquette à l'intérieur des axes. Nous pouvons le faire en utilisant la méthode ax.text. Nous allons parcourir chaque sous-graphique et ajouter l'étiquette à l'intérieur des axes en utilisant ax.transAxes.
for label, ax in axs.items():
## label physical distance in and down:
trans = mtransforms.ScaledTranslation(10/72, -5/72, fig.dpi_scale_trans)
ax.text(0.0, 1.0, label, transform=ax.transAxes + trans,
fontsize='medium', verticalalignment='top', fontfamily='serif',
bbox=dict(facecolor='0.7', edgecolor='none', pad=3.0))
Étiquetage en dehors des axes
Nous pouvons préférer les étiquettes en dehors des axes tout en les alignant les unes avec les autres. Dans ce cas, nous utilisons une transformation légèrement différente.
for label, ax in axs.items():
## label physical distance to the left and up:
trans = mtransforms.ScaledTranslation(-20/72, 7/72, fig.dpi_scale_trans)
ax.text(0.0, 1.0, label, transform=ax.transAxes + trans,
fontsize='medium', va='bottom', fontfamily='serif')
Étiquetage avec un titre
Si nous voulons que l'étiquette soit alignée avec le titre, nous pouvons l'incorporer dans le titre ou utiliser l'argument clé loc.
for label, ax in axs.items():
ax.set_title('Normal Title', fontstyle='italic')
ax.set_title(label, fontfamily='serif', loc='left', fontsize='medium')
Afficher les sous-graphiques
Enfin, nous affichons les sous-graphiques à l'aide de plt.show().
plt.show()
Récapitulatif
Dans ce laboratoire, nous avons appris à étiqueter les sous-graphiques dans Matplotlib en utilisant différentes méthodes. Nous avons utilisé ax.text pour étiqueter à l'intérieur des axes, ax.set_title pour étiqueter avec le titre et plt.subplot_mosaic pour créer les sous-graphiques. Nous avons également utilisé matplotlib.transforms pour transformer les axes afin d'aligner les étiquettes. En étiquetant les sous-graphiques, nous pouvons rendre nos graphiques plus informatifs et plus faciles à comprendre.