Introduction
Ce laboratoire est un tutoriel étape par étape sur la manière de tracer une surface 3D à l'aide de Matplotlib en Python. La surface 3D est colorée avec la carte de couleurs coolwarm et rendue opaque en utilisant "antialiased=False". Le tutoriel montre également comment utiliser .LinearLocator et la mise en forme personnalisée des étiquettes d'échelonnage de l'axe z.
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églerons rapidement le problème pour vous.
Importation des bibliothèques
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
from matplotlib.ticker import LinearLocator
Nous importons les bibliothèques nécessaires au tutoriel. Matplotlib est une bibliothèque de tracé pour Python qui fournit une interface similaire à MATLAB. Numpy est un package fondamental pour le calcul scientifique en Python.
Création de la figure et des axes
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
Nous créons une figure et des axes avec le paramètre subplot_kw défini sur "projection": "3d". Cela créera une projection 3D du tracé.
Création des données
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
Nous créons les données pour le tracé. Nous créons les valeurs de X et Y sous forme de tableaux avec des valeurs régulièrement espacées de -5 à 5 avec un pas de 0,25. Nous créons ensuite une grille de maillage des valeurs de X et Y à l'aide de np.meshgrid(). Nous utilisons la grille de maillage pour calculer les valeurs de R, qui est la distance à l'origine. Nous calculons ensuite les valeurs de Z en utilisant la fonction sin() de R.
Tracer la surface
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm,
linewidth=0, antialiased=False)
Nous traçons la surface à l'aide de la fonction plot_surface(). Nous passons les valeurs de X, Y et Z ainsi que le paramètre cmap défini sur cm.coolwarm pour colorer la surface avec la carte de couleurs coolwarm. Nous définissons également linewidth = 0 pour supprimer le maillage et antialiased = False pour rendre la surface opaque.
Personnaliser l'axe Z
ax.set_zlim(-1.01, 1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
## A StrMethodFormatter is used automatically
ax.zaxis.set_major_formatter('{x:.02f}')
Nous personnalisons l'axe z en utilisant la fonction set_zlim() pour définir les limites de l'axe z de -1,01 à 1,01. Nous utilisons ensuite la fonction set_major_locator() pour définir le nombre d'échelles sur l'axe z à 10 en utilisant LinearLocator(10). Enfin, nous utilisons la fonction set_major_formatter() pour formater les étiquettes des échelles de l'axe z à l'aide d'un StrMethodFormatter.
Ajouter une barre de couleur
fig.colorbar(surf, shrink=0.5, aspect=5)
Nous ajoutons une barre de couleur au tracé à l'aide de la fonction colorbar(). Nous passons l'objet surf et définissons shrink = 0,5 et aspect = 5 pour ajuster la taille de la barre de couleur.
Sommaire
Ce tutoriel a démontré comment tracer une surface 3D à l'aide de Matplotlib en Python. Nous avons créé une figure et des axes, créé les données, tracé la surface, personnalisé l'axe z et ajouté une barre de couleur. Matplotlib est un outil puissant pour créer des visualisations en Python.