Introduction
Ce laboratoire montre comment utiliser l'ombrage personnalisé dans un tracé de surface 3D à l'aide de Matplotlib en Python. L'ombrage est l'utilisation de lumière et d'ombre pour améliorer la perception de la profondeur et du relief dans un tracé 3D. En personnalisant l'ombrage, nous pouvons créer un tracé plus attrayant visuellement et plus informatif.
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'adresses pour accéder au carnet Jupyter pour la pratique.
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.
Charger et formater les données
Dans cette étape, nous allons charger et formater les données pour le tracé de surface 3D. Nous utiliserons un ensemble de données d'échantillonnage appelé "jacksboro_fault_dem.npz".
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cbook, cm
from matplotlib.colors import LightSource
## Charger et formater les données
dem = cbook.get_sample_data('jacksboro_fault_dem.npz')
z = dem['elevation']
nrows, ncols = z.shape
x = np.linspace(dem['xmin'], dem['xmax'], ncols)
y = np.linspace(dem['ymin'], dem['ymax'], nrows)
x, y = np.meshgrid(x, y)
region = np.s_[5:50, 5:50]
x, y, z = x[region], y[region], z[region]
Préparer le tracé
Dans cette étape, nous allons préparer le tracé pour le tracé de surface 3D. Nous utiliserons un objet LightSource pour personnaliser l'ombrage.
## Préparer le tracé
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
ls = LightSource(270, 45)
## Pour utiliser un mode d'ombrage personnalisé, remplacer l'ombrage intégré et passer
## les couleurs rgb de la surface ombrée calculées à partir de "shade".
rgb = ls.shade(z, cmap=cm.gist_earth, vert_exag=0.1, blend_mode='soft')
surf = ax.plot_surface(x, y, z, rstride=1, cstride=1, facecolors=rgb,
linewidth=0, antialiased=False, shade=False)
plt.show()
Personnaliser l'ombrage
Dans cette étape, nous allons personnaliser l'ombrage en remplaçant l'ombrage intégré et en passant les couleurs RGB de la surface ombrée calculées à partir de "shade".
## Préparer le tracé
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
ls = LightSource(270, 45)
## Pour utiliser un mode d'ombrage personnalisé, remplacer l'ombrage intégré et passer
## les couleurs rgb de la surface ombrée calculées à partir de "shade".
rgb = ls.shade(z, cmap=cm.gist_earth, vert_exag=0.1, blend_mode='soft')
surf = ax.plot_surface(x, y, z, rstride=1, cstride=1, facecolors=rgb,
linewidth=0, antialiased=False, shade=False)
plt.show()
Vérifier et réviser
Vérifiez le code et apportez les révisions nécessaires. Assurez-vous que le code est précis et bien commenté.
Sommaire
Dans ce laboratoire, nous avons appris à utiliser un ombrage personnalisé dans un tracé de surface 3D à l'aide de Matplotlib en Python. En personnalisant l'ombrage, nous avons pu créer un tracé plus visuellement attrayant et informatif.