Gráfico de tres superficies en Python usando Matplotlib

Un gráfico de tres superficies es un tipo de gráfico de superficie, creado por la triangulación de superficies compactas de un número finito de triángulos que cubren toda la superficie de manera que todos y cada uno de los puntos de la superficie forman un triángulo. La intersección de dos triángulos cualquiera da como resultado un vacío o un borde o vértice común. Este tipo de gráfico se crea cuando las cuadrículas muestreadas uniformemente son restrictivas e incómodas para trazar. Generalmente, los gráficos de tres superficies se crean llamando a la función ax.plot_trisurf() de la biblioteca matplotlib . Algunos de los atributos de la función se enumeran a continuación:

Atributo Parámetro
X, Y, Z conjunto de datos como array 1D para trazar
colores color de las manchas superficiales
cmap mapa de color para establecer el color de los parches de superficie
norma parámetro para normalizar los valores del mapa de colores
vmín valor mínimo del mapa
vamx valor máximo del mapa
sombra atributo para sombrear los colores de la cara

Ejemplo 1: vamos a crear un diagrama básico de tres superficies usando la función ax.plot_trisurf(). 

Python3

# Import libraries
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
 
 
# Creating dataset
z = np.linspace(0, 50000, 100)
x = np.sin(z)
y = np.cos(z)
 
# Creating figure
fig = plt.figure(figsize =(14, 9))
ax = plt.axes(projection ='3d')
 
# Creating plot
ax.plot_trisurf(x, y, z,
                linewidth = 0.2,
                antialiased = True);
 
# show plot
plt.show()

Producción : 

Tri-Surface Plot in Python using Matplotlib

Ejemplo 2: Para una mejor comprensión Tomemos otro ejemplo. 

Python3

# Import libraries
from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
import numpy as np 
 
 
# Creating radii and angles
r = np.linspace(0.125, 1.0, 100) 
a = np.linspace(0, 2 * np.pi,
                100,
                endpoint = False) 
   
# Repeating all angles for every radius 
a = np.repeat(a[..., np.newaxis], 100, axis = 1) 
   
# Creating dataset
x = np.append(0, (r * np.cos(a))) 
y = np.append(0, (r * np.sin(a)))   
z = (np.sin(x ** 4) + np.cos(y ** 4))
   
# Creating figure
fig = plt.figure(figsize =(16, 9)) 
ax = plt.axes(projection ='3d') 
 
# Creating color map
my_cmap = plt.get_cmap('hot')
   
# Creating plot
trisurf = ax.plot_trisurf(x, y, z,
                         cmap = my_cmap,
                         linewidth = 0.2,
                         antialiased = True,
                         edgecolor = 'grey') 
fig.colorbar(trisurf, ax = ax, shrink = 0.5, aspect = 5)
ax.set_title('Tri-Surface plot')
 
# Adding labels
ax.set_xlabel('X-axis', fontweight ='bold')
ax.set_ylabel('Y-axis', fontweight ='bold')
ax.set_zlabel('Z-axis', fontweight ='bold')
     
# show plot
plt.show()

Producción: 

Tri-Surface Plot in Python using Matplotlib

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *