Gráficos de malla 3D usando Plotly en Python

Plotly es una biblioteca de Python que se utiliza para diseñar gráficos, especialmente gráficos interactivos. Puede trazar varios gráficos y cuadros como histograma, diagrama de barras, diagrama de caja, diagrama de dispersión y muchos más. Se utiliza principalmente en el análisis de datos, así como en el análisis financiero. plotly es una biblioteca de visualización interactiva

Gráficos de malla 3D

Un gráfico de malla es un gráfico que tiene una superficie de tres dimensiones y tiene bordes sólidos y sin colores de cara. Un gráfico de malla es una forma de crear un conjunto 3D de triángulos con vértices dados por x, y y z. Si solo hay coordenadas, entonces se usa un algoritmo como la triangulación de Delaunay para formar un triángulo. Los parámetros I, J y K también se pueden usar para crear un triángulo.

Sintaxis: class plotly.graph_objects.Mesh3d(arg=Ninguno, hoverinfo=Ninguno, x=Ninguno, y=Ninguno, z=Ninguno, **kwargs)

Parámetros:

arg: dict de propiedades compatibles con este constructor o una instancia de plotly.graph_objects.Mesh3d

hoverinfo:  determina qué información de rastreo aparece al pasar el mouse. Si no se configura ninguno u omitir, no se muestra información al pasar el mouse. Pero, si no se establece ninguno, los eventos de clic y desplazamiento aún se activan.

x: Establece las coordenadas X de los vértices. El elemento n de los vectores x, y y z representan conjuntamente las coordenadas X, Y y Z del vértice n.

y: Establece las coordenadas Y de los vértices. El elemento n de los vectores x, y y z representan conjuntamente las coordenadas X, Y y Z del vértice n.

z: Establece las coordenadas Z de los vértices. El elemento n de los vectores x, y y z representan conjuntamente las coordenadas X, Y y Z del vértice n.

Ejemplo 1:

Python3

import plotly.graph_objects as go
import numpy as np
  
# Data for three-dimensional scattered points
z = 15 * np.random.random(100)
x = np.sin(z) + 0.1 * np.random.randn(100)
y = np.cos(z) + 0.1 * np.random.randn(100)
  
fig = go.Figure(data=[go.Mesh3d(
  x=x, y=y, z=z, color='green', opacity=0.20)])
  
fig.show()

Producción:

Ejemplo 2: Ejemplo de malla 3D con parámetro Alphahull

En plotly, el parámetro alphahull se utiliza para establecer la forma del gráfico de malla. Determina cómo se derivan los triángulos de superficie de malla a partir del conjunto de vértices (puntos) representados por las arrays x, y y z, si no se proporcionan las arrays i, j, k. Para el uso general de mesh3d, se prefiere que se suministren i, j, k. Si “-1”, se utiliza la triangulación de Delaunay, que es principalmente adecuada si la malla es una superficie de una sola capa, más o menos, que es perpendicular al eje delaunay. En caso de que el delaunayaxis interseque la superficie de la malla en más de un punto, dará como resultado triángulos que son muy largos en la dimensión del delaunayaxis. Si “>0”, se utiliza el algoritmo de forma alfa. En este caso, el valor positivo de alphahull indica el uso del algoritmo de forma alfa, _y_ su valor actúa como parámetro para el ajuste de la malla. Si 0, se utiliza el algoritmo de casco convexo. Es adecuado para cuerpos convexos o si la intención es encerrar los puntos x, y y z establecidos en un casco convexo.

Ejemplo:

Python3

import plotly.graph_objects as go
import numpy as np
  
# Data for three-dimensional scattered points
z = 15 * np.random.random(100)
x = np.sin(z) + 0.1 * np.random.randn(100)
y = np.cos(z) + 0.1 * np.random.randn(100)
  
fig = go.Figure(data=[go.Mesh3d(x=x, y=y, z=z, color='green',
                                opacity=0.20, alphahull=3)])
  
fig.show()

Producción:

Mostrando Malla Tetraedro

En el tetraedro de malla, los parámetros i, j y k se pueden usar para especificar manualmente la geometría de los triángulos de la malla.

Ejemplo:

Python3

import plotly.graph_objects as go
import numpy as np
  
# Data for three-dimensional scattered points
z = 15 * np.random.random(100)
x = np.sin(z) + 0.1 * np.random.randn(100)
y = np.cos(z) + 0.1 * np.random.randn(100)
  
fig = go.Figure(data=[go.Mesh3d(x=x, y=y, z=z, color='green',
                                opacity=0.20, alphahull=3,
                                i=[1, 0, 0, 1],
                                j=[1, 2, 3, 4],
                                k=[4, 3, 1, 3],)])
  
fig.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por nishantsundriyal98 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 *