Tracés de surface dans Matplotlib
Lors de la création d'un tracé de surface, la fonction plot_surface nécessite des tableaux 2D comme arguments pour représenter les points dans l'espace 3D. Cependant, si vous ne disposez que d'une liste de points 3D, il y a des considérations spécifiques à prendre en compte.
Nuages de points triangulés
Pour une liste de points 3D, plot_surface ne peut pas être utilisé directement en raison de l'ambiguïté de la triangulation des points dans une surface. Matplotlib ne fournit pas de méthode pour trianguler automatiquement des points dans une surface.
Approche alternative : surface basée sur une grille
Si vous n'avez pas de fonction représentant la surface, vous pouvez générer une surface basée sur une grille en utilisant une fonction comme fun(x, y). Dans cette approche, vous définissez une grille de points et calculez les valeurs z correspondantes à l'aide de la fonction donnée.
<code class="python">import numpy as np import matplotlib.pyplot as plt # Define the function def fun(x, y): return x**2 + y # Create a meshgrid x = y = np.arange(-3.0, 3.0, 0.05) X, Y = np.meshgrid(x, y) # Compute the z-values zs = np.array(fun(np.ravel(X), np.ravel(Y))) Z = zs.reshape(X.shape) # Create the surface plot fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(X, Y, Z)</code>
Cette approche vous permet de créer une surface lisse qui passe par les points 3D donnés et couvre la surface. toute l'étendue de la grille.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!