[3D wireframe] [3D scatter]
..
Gráficas 3D wireframe
Usada cuando se tienen muestras de puntos f(x,y) y se dan los valores en cada eje x y eje y.
Ejemplo:
isla = np.array([[0,1,0,0,0], [1,3,1,1,0], [5,4,3,2,0], [0,0,1,1,0]]) xi = np.array([0,100,200,300,400]) yi = np.array([0, 50,100,150])
la grafica requiere importar las librerias en 3D
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d
crea las matrices de puntos de referencia:
X, Y = np.meshgrid(xi, yi)
crea la gráfica en una figura con proyección 3D
figura = plt.figure() ax = figura.add_subplot(111, projection = '3d') ax.plot_wireframe(X,Y,isla) plt.show()
con lo que obtiene:
[3D wireframe] [3D scatter]
..
Gráficas 3D puntos dispersos-scatter
Varios puntos en el espacio para graficar, los puntos se ordenan por filas. Cada fila contiene las coordenadas [x, y, z] de cada punto:
puntos = np.array([[x0, y0, z0], [x1, y1, z1], [x2, y2, z3]])
Se usa un vector para cada coordenada xi, yi, zi.
xi = [x0, x1, x2] yi = [y0, y1, y2] zi = [z0, z1, z2]
con lo que se crea la gráfica de puntos (scatter) en 3d:
las instrucciones en Python son:
# Puntos en el espacio, Dispersión-Scatter # cada fila representa un punto [xi,yi,zi] import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # INGRESO # unpunto = [x,y,z] puntos = np.array([[0, 0, 0], [1, 2, 3], [2, 4,-1]]) # SALIDA # grafica figura = plt.figure() grafica = figura.add_subplot(111,projection = '3d') # xi = [:,0] ; yi = [:,1], zi = [:,2] # selecciona columnas, use la transpuesta de puntos [xi, yi , zi] = np.transpose(puntos) grafica.scatter(xi,yi,zi, c = 'blue', marker='o', label = 'puntos[i]') grafica.set_title('puntos, dispersión-scatter') grafica.set_xlabel('eje x') grafica.set_ylabel('eje y') grafica.set_zlabel('eje z') grafica.legend() plt.show()
siguiendo el esquema, se pueden añadir los puntos que sean necesarios.