Dibuja un diagrama de dispersión 3D en Python usando Matplotlib

¿Qué es Matplotlib?
Matplotlib es una biblioteca en Python para crear animaciones estáticas y dinámicas y trazar utilizando sus funciones integradas. Tiene muchas funciones integradas y herramientas de análisis integradas para analizar cualquier gráfico o cuadro.
Si queremos trazar cualquier gráfico 3D, podemos usar la biblioteca Matplotlib. Cuando tenemos un gran conjunto de datos de variables 3D y lo graficamos, se ve muy disperso, esto se llama diagrama de dispersión 3D. Usaremos el kit de herramientas matplot3d de Matplotlib para dibujar gráficos en 3D.
Hay un hacha. función que acepta un conjunto de datos de coordenadas X, Y y Z.
Dependiendo de las propiedades que queramos atribuir a los gráficos 3D, se necesitarán más argumentos.

Cuando se creó Matplotlib por primera vez, solo se consideró el trazado bidimensional. En la época del lanzamiento de la versión 1.0, se creó un conjunto de herramientas de visualización de datos en 3D práctico (aunque bastante limitado) mediante la superposición de algunas herramientas de gráficos en 3D sobre la visualización en 2D de Matplotlib. Los gráficos tridimensionales son posibles al importar el kit de herramientas mplot3d (que es parte de la instalación básica de Matplotlib).
El diagrama 3D más simple es un diagrama de dispersión que consta de líneas o grupos de triples (x, y, z). Estos se pueden producir con hachas. plot3D y hacha. La función scatter3D, muy parecida a los gráficos bidimensionales más típicos presentados anteriormente. Sus características de llamada son muy similares a sus contrapartes bidimensionales.
Para crear la ilusión de profundidad en la página, se ha cambiado la transparencia de los puntos de dispersión.
Ejemplo 1:

# importing the necessary libraries  
import numpy as np  
import matplotlib.pyplot as plt  
from mpl_toolkits import mplot3d  
  
# generating  random dataset  
z = np.random.randint(80, size =(55))  
x = np.random.randint(60, size =(55))  
y = np.random.randint(64, size =(55))  
  
# Creating figures for the plot  
fig = plt.figure(figsize = (10, 7))  
ax = plt.axes(projection ="3d")  
  
# Creating a plot using the random datasets   
ax.scatter3D(x, y, z, color = "red")  
plt.title("3D scatter plot")  
  
# display the  plot  
plt.show()  

producción:

Explicación:
En el ejemplo anterior, creamos un gráfico 3D usando ax. función de dispersión(). Inicialmente importamos todas las bibliotecas necesarias, como numpy, matplotlib y mpl_toolkits. Luego creamos un conjunto de datos de coordenadas x, y y z de números aleatorios usando la función randInt(). Después de eso, usamos el hacha. función scatter3D() e ingrese las coordenadas x, y y z, tomamos el color rojo para los puntos. Finalmente, mostramos el diagrama usando la función show(). 

Ejemplo 2:

# importing the necessary libraries  
from mpl_toolkits import mplot3d  
import matplotlib.pyplot as plt  
import numpy as np  
  
  
# Creating random dataset  
z = 4 * np.tan(np.random.randint(10, size =(500))) + np.random.randint(100, size =(500))  
x = 4 * np.cos(z) + np.random.normal(size = 500)  
y = 4 * np.sin(z) + 4 * np.random.normal(size = 500)  
  
# Creating figure  
fig = plt.figure(figsize = (16, 12))  
ax = plt.axes(projection ="3d")  
  
# Add x, and y gridlines for the figure  
ax.grid(b = True, color ='blue',linestyle ='-.', linewidth = 0.5,alpha = 0.3)  
  
  
# Creating the color map for the plot  
my_cmap = plt.get_cmap('hsv')  
  
# Creating the 3D plot  
sctt = ax.scatter3D(x, y, z,alpha = 0.8,c = (x + y + z),cmap = my_cmap,marker ='^')  
  
plt.title("3D scatter plot in Python")  
ax.set_xlabel('X-axis', fontweight ='bold')  
ax.set_ylabel('Y-axis', fontweight ='bold')  
ax.set_zlabel('Z-axis', fontweight ='bold')  
fig.colorbar(sctt, ax = ax, shrink = 0.6, aspect = 5)  
  
# display the plot  
plt.show()  

producción:

explicar:

En el código anterior, usamos la función ax para dibujar un gráfico tridimensional. función scatter3D(). Generamos conjuntos de datos aleatorios de coordenadas x, y y z y los trazamos usando el marcador "^". Proporcionamos etiquetas para los ejes individuales utilizando la función set_label. 

 

Supongo que te gusta

Origin blog.csdn.net/std7879/article/details/127804598
Recomendado
Clasificación