Introduction
Ce laboratoire vous apprendra à utiliser la fonction add_floating_axis dans Matplotlib pour ajouter des axes flottants à un graphique, qui peuvent être utilisés pour afficher des informations supplémentaires sur le graphique. Plus précisément, vous allez apprendre à ajuster le rembourrage des étiquettes d'échelle et des étiquettes d'axe, ainsi qu'à ajuster la position des échelles sur les axes flottants.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses 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 des commentaires après la session, et nous résoudrons rapidement le problème pour vous.
Importation des bibliothèques
Tout d'abord, importez les bibliothèques nécessaires, y compris matplotlib.pyplot, numpy et mpl_toolkits.axisartist.
import matplotlib.pyplot as plt
import numpy as np
import mpl_toolkits.axisartist as axisartist
Définir la fonction de configuration des axes
Ensuite, définissez la fonction setup_axes(), qui configure la projection polaire du graphique. Cette fonction utilise un GridHelperCurveLinear pour créer une projection polaire dans un cadre rectangulaire. Elle définit également les limites du graphique et renvoie l'objet ax1.
def setup_axes(fig, rect):
## Définir la transformation PolarAxes et le chercheur d'extrémités
tr = Affine2D().scale(np.pi/180., 1.) + PolarAxes.PolarTransform()
extreme_finder = angle_helper.ExtremeFinderCycle(20, 20, lon_cycle=360, lat_cycle=None, lon_minmax=None, lat_minmax=(0, np.inf))
## Définir les localisateurs et les formatteurs de grille
grid_locator1 = angle_helper.LocatorDMS(12)
grid_locator2 = grid_finder.MaxNLocator(5)
tick_formatter1 = angle_helper.FormatterDMS()
## Définir le GridHelperCurveLinear
grid_helper = GridHelperCurveLinear(tr, extreme_finder=extreme_finder, grid_locator1=grid_locator1, grid_locator2=grid_locator2, tick_formatter1=tick_formatter1)
## Créer l'objet d'axe et définir ses limites
ax1 = fig.add_subplot(rect, axes_class=axisartist.Axes, grid_helper=grid_helper)
ax1.axis[:].set_visible(False)
ax1.set_aspect(1.)
ax1.set_xlim(-5, 12)
ax1.set_ylim(-5, 10)
return ax1
Définir la fonction d'ajout d'un axe flottant
Définissez la fonction add_floating_axis, qui ajoute un axe flottant au graphique. Cette fonction prend en argument l'objet ax1 et renvoie l'objet axis.
def add_floating_axis(ax1):
## Définir l'axe flottant
ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 30)
axis.label.set_text(r"$\theta = 30^{\circ}$")
axis.label.set_visible(True)
return axis
Ajouter un rembourrage aux étiquettes d'échelle
Dans cette étape, ajoutez un rembourrage aux étiquettes d'échelle de l'axe flottant. Cela peut être fait en définissant l'attribut pad de l'objet major_ticklabels sur la valeur de rembourrage souhaitée.
## Ajouter un rembourrage aux étiquettes d'échelle
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)
ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)
ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.major_ticklabels.set_pad(10)
plt.show()
Ajuster le rembourrage de l'étiquette d'axe
Dans cette étape, ajustez le rembourrage de l'étiquette d'axe de l'axe flottant. Cela peut être fait en définissant l'attribut pad de l'objet label sur la valeur de rembourrage souhaitée.
## Ajuster le rembourrage de l'étiquette d'axe
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)
ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)
ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.label.set_pad(20)
plt.show()
Ajuster la position des échelles
Dans cette étape, ajustez la position des échelles sur l'axe flottant. Cela peut être fait en définissant l'attribut tick_out de l'objet major_ticks sur True.
## Ajuster la position des échelles
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)
ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)
ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.major_ticks.set_tick_out(True)
plt.show()
Sommaire
Dans ce laboratoire, vous avez appris à utiliser la fonction add_floating_axis dans Matplotlib pour ajouter des axes flottants à un graphique. Vous avez également appris à ajuster le rembourrage des étiquettes d'échelle et des étiquettes d'axe, ainsi qu'à ajuster la position des échelles sur les axes flottants. À la fin de ce laboratoire, vous devriez être capable de créer des graphiques personnalisés avec des axes flottants qui affichent des informations supplémentaires sur le graphique.