Noter
Cliquez ici pour télécharger l'exemple de code complet
Marquage des sous-parcelles #
L'étiquetage des sous-parcelles est relativement simple et varie, donc Matplotlib n'a pas de méthode générale pour le faire.
Le plus simple est de mettre l'étiquette à l'intérieur des axes. Notez qu'ici, nous utilisons pyplot.subplot_mosaic
et utilisons les étiquettes de sous-parcelles comme clés pour les sous-parcelles, ce qui est pratique. Cependant, la même méthode fonctionne avec pyplot.subplots
ou des clés différentes de celles avec lesquelles vous souhaitez étiqueter la sous-parcelle.
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
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))
plt.show()
Nous pouvons préférer les étiquettes en dehors des axes, mais toujours alignées les unes avec les autres, auquel cas nous utilisons une transformation légèrement différente :
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
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')
plt.show()
Si nous voulons qu'il soit aligné avec le titre, incorporez-le dans le titre ou utilisez l' argument du mot-clé loc :
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
for label, ax in axs.items():
ax.set_title('Normal Title', fontstyle='italic')
ax.set_title(label, fontfamily='serif', loc='left', fontsize='medium')
plt.show()
Références
L'utilisation des fonctions, méthodes, classes et modules suivants est illustrée dans cet exemple :
Durée totale d'exécution du script : ( 0 minutes 1.840 secondes)