Introduction
Ce laboratoire fournit un guide étape par étape sur la manière d'utiliser GridHelperCurveLinear pour définir des grilles personnalisées et des lignes d'échelles en appliquant une transformation sur la grille. Nous utiliserons la bibliothèque Matplotlib de Python pour créer des grilles personnalisées et des lignes d'échelles.
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 d'étude 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 requises
La première étape consiste à importer les bibliothèques requises, y compris matplotlib.pyplot, numpy, ExtremeFinderSimple, MaxNLocator et GridHelperCurveLinear.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axisartist.axislines import Axes
from mpl_toolkits.axisartist.grid_finder import (ExtremeFinderSimple, MaxNLocator)
from mpl_toolkits.axisartist.grid_helper_curvelinear import GridHelperCurveLinear
Définition des fonctions de transformation
La deuxième étape consiste à définir les fonctions de transformation. Dans cet exemple, nous utiliserons la fonction tr pour transformer les valeurs de l'axe des x et laisser les valeurs de l'axe des y inchangées. La fonction inv_tr sera utilisée pour inverser la transformation.
def tr(x, y):
return np.sign(x)*abs(x)**.5, y
def inv_tr(x, y):
return np.sign(x)*x**2, y
Définition de GridHelperCurveLinear
La troisième étape consiste à définir l'instance de GridHelperCurveLinear. Nous utiliserons les fonctions de transformation définies dans l'étape 2 pour transformer la grille. Nous définirons également grid_locator1 et grid_locator2 sur MaxNLocator(nbins=6) pour augmenter la densité des graduations.
grid_helper = GridHelperCurveLinear(
(tr, inv_tr),
extreme_finder=ExtremeFinderSimple(20, 20),
grid_locator1=MaxNLocator(nbins=6), grid_locator2=MaxNLocator(nbins=6))
Définition des axes et affichage de l'image
La quatrième étape consiste à définir les axes à l'aide de l'instance grid_helper créée à l'étape 3. Nous afficherons également une image à l'aide de la fonction imshow.
ax1 = fig.add_subplot(axes_class=Axes, grid_helper=grid_helper)
ax1.imshow(np.arange(25).reshape(5, 5), vmax=50, cmap=plt.cm.gray_r, origin="lower")
Création de la figure
La dernière étape consiste à créer la figure à l'aide de la fonction plt.figure. Nous définirons la taille de la figure sur (7, 4) et appellerons la fonction curvelinear_test1 créée dans les étapes 2 - 4.
if __name__ == "__main__":
fig = plt.figure(figsize=(7, 4))
curvelinear_test1(fig)
plt.show()
Sommaire
Dans ce laboratoire, nous avons appris à utiliser GridHelperCurveLinear pour définir des grilles et des graduations personnalisées en appliquant une transformation à la grille. Nous avons utilisé la bibliothèque Matplotlib de Python pour créer une grille et des graduations personnalisées pour une matrice 5x5 affichée sur les axes.