Introduction
En analyse de données, il est souvent nécessaire de créer des graphiques 3D pour visualiser les données. Dans Matplotlib, nous pouvons créer des graphiques 3D en tant que sous-graphiques pour comparer différents ensembles de données 3D. Ce laboratoire démontrera comment créer des graphiques 3D en tant que sous-graphiques à l'aide de Matplotlib.
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.
Importation des bibliothèques
Avant de commencer, nous devons importer les bibliothèques que nous utiliserons dans ce laboratoire. Nous utiliserons Matplotlib, NumPy et Axes3D de mpl_toolkits.mplot3d.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
Créer la figure et les sous-graphiques
Nous allons créer une figure avec deux sous-graphiques. Le premier sous-graphique sera un graphique de surface 3D, et le second sous-graphique sera un graphique en maillage 3D.
## Create a figure with two subplots
fig = plt.figure(figsize=plt.figaspect(0.5))
## Add the first subplot with 3D projection
ax1 = fig.add_subplot(1, 2, 1, projection='3d')
## Add the second subplot with 3D projection
ax2 = fig.add_subplot(1, 2, 2, projection='3d')
Créer le graphique de surface 3D
Nous allons créer un graphique de surface 3D pour le premier sous-graphique. Nous utiliserons NumPy pour créer les données du graphique.
## Create data for the 3D surface plot
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)
## Plot the 3D surface plot
surf = ax1.plot_surface(X, Y, Z, cmap='coolwarm', linewidth=0, antialiased=False)
## Add a color bar to the plot
fig.colorbar(surf, shrink=0.5, aspect=10)
## Set the limits for the z-axis
ax1.set_zlim(-1.01, 1.01)
Créer le graphique en maillage 3D
Nous allons créer un graphique en maillage 3D pour le second sous-graphique. Nous utiliserons la fonction get_test_data de mpl_toolkits.mplot3d.axes3d pour créer les données du graphique.
## Create data for the 3D wireframe plot
X, Y, Z = Axes3D.get_test_data(0.05)
## Plot the 3D wireframe plot
ax2.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
Afficher le graphique
Nous utiliserons la fonction plt.show() pour afficher le graphique.
plt.show()
Récapitulatif
Dans ce laboratoire, nous avons appris à créer des graphiques 3D en tant que sous-graphiques à l'aide de Matplotlib. Nous avons créé une figure avec deux sous-graphiques, un graphique de surface 3D et un graphique en maillage 3D. Nous avons utilisé NumPy pour créer les données du graphique de surface 3D et la fonction get_test_data de mpl_toolkits.mplot3d.axes3d pour créer les données du graphique en maillage 3D. Nous avons également ajouté une barre de couleur au graphique de surface 3D et défini les limites de l'axe z.