Artistes ancrés simples

Beginner

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

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser les classes d'assistant ancrées trouvées dans Matplotlib's offsetbox et mpl_toolkits.axes_grid1. Vous créerez une figure qui contient des boîtes de texte, un cercle et une barre de taille à l'aide de ces classes.

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 pratiquer.

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ésoudrons rapidement le problème pour vous.

Importation des bibliothèques

Pour commencer, vous devrez importer Matplotlib et les modules nécessaires.

import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
from matplotlib.patches import Circle
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea, AnchoredSizeBar

Créer la figure

Créez un objet figure et un objet axe à l'aide de la fonction subplots() de Matplotlib.

fig, ax = plt.subplots()
ax.set_aspect(1.)

Ajouter des boîtes de texte

Ajoutez deux boîtes de texte à la figure, ancrées par des coins différents dans le coin supérieur gauche de la figure.

at = AnchoredText("Figure 1a",
                  loc='upper left', prop=dict(size=8), frameon=True,
                  )
at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at)

at2 = AnchoredText("Figure 1(b)",
                   loc='lower left', prop=dict(size=8), frameon=True,
                   bbox_to_anchor=(0., 1.),
                   bbox_transform=ax.transAxes
                   )
at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at2)

Dessiner un cercle

Dessinez un cercle dans les coordonnées de l'axe.

ada = AnchoredDrawingArea(20, 20, 0, 0,
                          loc='upper right', pad=0., frameon=False)
p = Circle((10, 10), 10)
ada.da.add_artist(p)
ax.add_artist(ada)

Ajouter une échelle

Dessinez une barre horizontale d'une longueur de 0,1 dans les coordonnées des données, avec une étiquette fixe en dessous.

asb = AnchoredSizeBar(ax.transData,
                      0.1,
                      r"1$^{\prime}$",
                      loc='lower center',
                      pad=0.1, borderpad=0.5, sep=5,
                      frameon=False)
ax.add_artist(asb)

Afficher la figure

Affichez la figure à l'aide de la fonction show() de Matplotlib.

plt.show()

Récapitulatif

Dans ce laboratoire, vous avez appris à utiliser les classes d'assistance ancrées trouvées dans les boîtes décalées de Matplotlib et mpl_toolkits.axes_grid1 pour créer une figure avec des boîtes de texte, un cercle et une échelle. Vous pouvez utiliser ces classes pour ajouter des annotations et des graphiques informatifs à vos figures.