Création de graphiques de relief ombré avec Python

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à créer des graphiques de relief ombré à l'aide de Matplotlib en Python. Les graphiques de relief ombré sont utiles pour visualiser les données de terrain, car ils utilisent l'ombrage pour représenter les variations d'altitude.

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 de notes pour accéder au carnet Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter Notebook.

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

Nous allons commencer par importer les bibliothèques nécessaires.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib import cbook
from matplotlib.colors import LightSource

Charger les données

Ensuite, nous allons charger les données d'échantillonnage que nous utiliserons pour ce tutoriel. Nous utiliserons le fichier jacksboro_fault_dem.npz, qui contient des données d'altitude.

dem = cbook.get_sample_data('jacksboro_fault_dem.npz')
elev = dem['elevation']

Créer des graphiques de relief ombré

Nous allons maintenant créer les graphiques de relief ombré à l'aide de la classe LightSource. Nous allons créer deux sous-graphiques, l'un avec des données colorées et l'autre avec l'intensité d'éclairage.

## Éclairer la scène du nord-ouest
ls = LightSource(azdeg=315, altdeg=45)

fig, axs = plt.subplots(ncols=2, nrows=2)
for ax in axs.flat:
    ax.set(xticks=[], yticks=[])

axs[0, 0].imshow(z, cmap=cmap)
axs[0, 0].set(xlabel='Données colorées')

axs[0, 1].imshow(ls.hillshade(z, vert_exag=ve), cmap='gray')
axs[0, 1].set(xlabel='Intensité d\'éclairage')

Nous allons créer deux autres sous-graphiques, l'un avec le blend_mode défini sur "hsv" et l'autre défini sur "overlay".

rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='hsv')
axs[1, 0].imshow(rgb)
axs[1, 0].set(xlabel='Mode de mélange : "hsv" (par défaut)')

rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='overlay')
axs[1, 1].imshow(rgb)
axs[1, 1].set(xlabel='Mode de mélange : "overlay"')

Afficher les graphiques

Enfin, nous allons afficher les graphiques à l'aide de plt.show().

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à créer des graphiques de relief ombré à l'aide de Python Matplotlib. Nous avons chargé des données d'échantillonnage et utilisé la classe LightSource pour créer quatre sous-graphiques avec différentes techniques d'ombrage. Nous avons ensuite affiché les graphiques à l'aide de plt.show().