Tracés 2D et 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

Ce laboratoire vous guidera dans la création d'une figure qui contient à la fois un tracé 2D et un tracé 3D à l'aide de Matplotlib. Le tracé 2D affichera une oscillation amortie, tandis que le tracé 3D affichera une onde sinusoïdale.

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 de notes 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.

Importation des bibliothèques

Dans cette étape, nous allons importer les bibliothèques nécessaires pour ce laboratoire. Nous utiliserons Matplotlib pour tracer, NumPy pour créer des tableaux et mpl_toolkits pour le tracé 3D.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

Définition des fonctions

Dans cette étape, nous allons définir une fonction qui génère une oscillation amortie.

def f(t):
    return np.cos(2*np.pi*t) * np.exp(-t)

Création de la figure

Dans cette étape, nous allons créer une figure avec deux sous-graphiques. Le premier sous-graphique sera un tracé 2D, et le second sous-graphique sera un tracé 3D.

fig = plt.figure(figsize=plt.figaspect(2.))
fig.suptitle('A Tale of 2 Subplots')

Création du tracé 2D

Dans cette étape, nous allons créer un tracé 2D d'une oscillation amortie.

ax1 = fig.add_subplot(2, 1, 1)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
t3 = np.arange(0.0, 2.0, 0.01)

ax1.plot(t1, f(t1), 'bo',
         t2, f(t2), 'k--', markerfacecolor='green')
ax1.grid(True)
ax1.set_ylabel('Oscillation amortie')

Création du tracé 3D

Dans cette étape, nous allons créer un tracé 3D d'une onde sinusoïdale.

ax2 = fig.add_subplot(2, 1, 2, projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

surf = ax2.plot_surface(X, Y, Z, rstride=1, cstride=1,
                        linewidth=0, antialiased=False)
ax2.set_zlim(-1, 1)

Affichage du tracé

Dans cette étape, nous allons afficher la figure.

plt.show()

Sommaire

Dans ce laboratoire, nous avons créé une figure avec à la fois un tracé 2D et un tracé 3D à l'aide de Matplotlib. Le tracé 2D a affiché une oscillation amortie, tandis que le tracé 3D a affiché une onde sinusoïdale. Nous avons utilisé NumPy pour créer des tableaux et mpl_toolkits pour le tracé 3D.