Représentation graphique en 3D avec des coordonnées polaires

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

Ce laboratoire est un guide étape par étape pour créer une surface 3D avec des coordonnées polaires à l'aide de la bibliothèque Python Matplotlib. Ce laboratoire suppose des connaissances de base en programmation Python et en bibliothèque Matplotlib.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de 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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/AdvancedPlottingGroup(["Advanced Plotting"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/sets("Sets") matplotlib/AdvancedPlottingGroup -.-> matplotlib/3d_plots("3D Plots") 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-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} matplotlib/figures_axes -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} python/tuples -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} python/sets -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} matplotlib/3d_plots -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} python/importing_modules -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} python/numerical_computing -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} python/data_visualization -.-> lab-48972{{"Représentation graphique en 3D avec des coordonnées polaires"}} end

Importation des bibliothèques requises

Nous allons commencer par importer les bibliothèques requises pour ce laboratoire, qui incluent Matplotlib et NumPy. Matplotlib est une bibliothèque de tracé pour Python, tandis que NumPy est une bibliothèque pour le langage de programmation Python, ajoutant la prise en charge de tableaux et de matrices multi-dimensionnels de grande taille.

import matplotlib.pyplot as plt
import numpy as np

Création de la grille

Ensuite, nous allons créer la grille dans les coordonnées polaires et calculer la Z correspondante. Nous allons créer un tableau de valeurs de rayon r, un tableau de valeurs d'angle p, puis utiliser la fonction meshgrid() de NumPy pour créer une grille de valeurs de R et P. Enfin, nous utiliserons l'équation Z pour calculer la hauteur de chaque point sur la surface.

r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)

Exprimer la grille dans le système cartésien

Maintenant, nous allons exprimer la grille dans le système cartésien à l'aide des fonctions cos() et sin() de NumPy.

X, Y = R*np.cos(P), R*np.sin(P)

Tracer la surface

Dans cette étape, nous allons tracer la surface à l'aide de la fonction plot_surface() de Matplotlib. Nous utiliserons la carte de couleurs YlGnBu_r pour définir la couleur de la surface.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r)

Ajuster les limites et ajouter des étiquettes

Enfin, nous allons ajuster les limites du tracé et ajouter des étiquettes d'axe à l'aide des fonctions set_zlim(), set_xlabel(), set_ylabel() et set_zlabel() de Matplotlib. Nous utiliserons également le mode mathématique LaTeX pour écrire les étiquettes d'axe.

ax.set_zlim(0, 1)
ax.set_xlabel(r'$\phi_\mathrm{réel}$')
ax.set_ylabel(r'$\phi_\mathrm{im}$')
ax.set_zlabel(r'$V(\phi)$')

Sommaire

Dans ce laboratoire, nous avons appris à créer une surface 3D avec des coordonnées polaires à l'aide de la bibliothèque Python Matplotlib. Nous avons commencé par importer les bibliothèques requises, créé une grille en coordonnées polaires, exprimé la grille dans le système cartésien, tracé la surface et finalement ajusté les limites et ajouté des étiquettes d'axe.