Graphique de flèches 3D avec Matplotlib

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 graphe de flèches 3D à l'aide de Python Matplotlib. Un graphe de flèches affiche un champ de vecteurs sous forme de flèches. Les flèches pointent dans la direction des vecteurs et leur longueur représente l'amplitude des vecteurs.

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 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/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/SpecializedPlotsGroup(["Specialized Plots"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") matplotlib/SpecializedPlotsGroup -.-> matplotlib/quiver_plots("Quiver Plots") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} matplotlib/figures_axes -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} python/booleans -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} python/tuples -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} python/importing_modules -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} matplotlib/quiver_plots -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} python/numerical_computing -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} python/data_visualization -.-> lab-48895{{"Graphique de flèches 3D avec Matplotlib"}} end

Importation des bibliothèques et configuration du tracé

La première étape consiste à importer les bibliothèques nécessaires et à configurer le tracé. Dans cet exemple, nous utiliserons le module pyplot de Matplotlib et son outil de tracé en 3D pour créer le tracé en 3D.

import matplotlib.pyplot as plt
import numpy as np

ax = plt.figure().add_subplot(projection='3d')

Création de la grille

Ensuite, nous allons créer une grille de points sur laquelle nous allons afficher le champ de vecteurs. Dans cet exemple, nous allons créer une grille de points à l'aide de la fonction meshgrid de NumPy. La fonction arange est utilisée pour créer un tableau de points régulièrement espacés dans un intervalle spécifié.

x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.8))

Définir la direction des flèches

Maintenant, nous allons définir la direction des flèches. Dans cet exemple, nous allons définir la direction des flèches à l'aide des fonctions trigonométriques de NumPy. Les fonctions sin et cos sont utilisées pour créer les tableaux u, v et w qui représentent la direction des flèches dans les directions x, y et z.

u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)
v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)
w = (np.sqrt(2.0 / 3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) *
     np.sin(np.pi * z))

Créer le graphe de flèches

Avec la grille et la direction des flèches définies, nous pouvons créer le graphe de flèches. Dans cet exemple, nous utiliserons la fonction quiver de Matplotlib pour créer le tracé. Le paramètre length définit la longueur des flèches et le paramètre normalize normalise les flèches à une longueur de 1.

ax.quiver(x, y, z, u, v, w, length=0.1, normalize=True)

Afficher le tracé

Enfin, nous allons afficher le tracé à l'aide de la fonction show de Matplotlib.

plt.show()

Sommaire

Dans ce laboratoire, vous avez appris à créer un graphe de flèches 3D à l'aide de Matplotlib en Python. La fonction meshgrid a été utilisée pour créer une grille de points, et les fonctions trigonométriques de NumPy ont été utilisées pour définir la direction des flèches. La fonction quiver a ensuite été utilisée pour créer le tracé, et la fonction show a été utilisée pour l'afficher.