Créer des tracés de contour 3D personnalisés

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, vous allez apprendre à créer un tracé de contour 3D triangulaire rempli à l'aide de la bibliothèque Matplotlib en Python. Le tracé sera créé à l'aide de maillages triangulaires non structurés et d'une triangulation personnalisée. Vous pourrez contrôler l'angle de vue et la carte de couleurs du tracé.

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} matplotlib/figures_axes -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/booleans -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/lists -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/tuples -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/importing_modules -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/numerical_computing -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} python/data_visualization -.-> lab-49006{{"Créer des tracés de contour 3D personnalisés"}} end

Importation des bibliothèques

La première étape consiste à importer les bibliothèques nécessaires. Dans ce cas, nous aurons besoin de Matplotlib, de Numpy et de Matplotlib Tri.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.tri as tri

Création des coordonnées

Ensuite, nous allons créer les coordonnées x, y, z des points. Nous allons créer le maillage en coordonnées polaires et calculer x, y, z.

n_angles = 48
n_radii = 8
min_radius = 0.25

radii = np.linspace(min_radius, 0.95, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)
angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1)
angles[:, 1::2] += np.pi/n_angles

x = (radii*np.cos(angles)).flatten()
y = (radii*np.sin(angles)).flatten()
z = (np.cos(radii)*np.cos(3*angles)).flatten()

Création d'une triangulation personnalisée

Dans cette étape, nous allons créer une triangulation personnalisée et masquer les triangles indésirables.

triang = tri.Triangulation(x, y)
triang.set_mask(np.hypot(x[triang.triangles].mean(axis=1),
                         y[triang.triangles].mean(axis=1))
                < min_radius)

Création du tracé

Maintenant, nous allons créer le tracé à l'aide de la fonction tricontourf() et personnaliser l'angle de vue.

ax = plt.figure().add_subplot(projection='3d')
ax.tricontourf(triang, z, cmap=plt.cm.CMRmap)
ax.view_init(elev=45.)

plt.show()

Sommaire

Dans ce laboratoire, vous avez appris à créer un tracé de contour 3D triangulaire rempli à l'aide de Matplotlib en Python. Vous avez appris à créer les coordonnées, à créer une triangulation personnalisée et à personnaliser l'angle de vue et la carte de couleurs du tracé.