Gráficas 3D de Streamtube 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 tablas 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 tubos de flujo 3D

En plotly, el gráfico streamtube, el parámetro incluye X, Y y Z, que establecen las coordenadas con campos vectoriales. U, V y W que establecen los componentes X, Y y Z de los campos vectoriales. Un tubo de corriente es una región tubular rodeada de líneas de corriente que forman un circuito cerrado.

Sintaxis: plotly.graph_objects.Streamtube(arg=Ninguno, hoverinfo=Ninguno, showscale=Ninguno, u=Ninguno, v=Ninguno, w=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.Streamtube

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.

showscale: determina si se muestra o no una barra de colores para esta traza.

u: Establece las componentes x del campo vectorial.

v: Establece los componentes y del campo vectorial.

w: Establece los componentes z del campo vectorial.

x: Establece las coordenadas x del campo vectorial.

y: Establece las coordenadas y del campo vectorial.

z: Establece las coordenadas z del campo vectorial.

Ejemplo:

Python3

import plotly.graph_objects as go
  
fig = go.Figure(data=go.Streamtube(x=[1, 1, 1], y=[1, 1, 2],
                                   z=[0, 0, 0], u=[0, 0, 0], 
                                   v=[1, 1, 1], w=[0, 0, 0]))
fig.show()

Producción:

Cambiar el diámetro del tubo

El diámetro de los tubos se puede determinar por la divergencia local del campo vectorial. Las normas son proporcionadas pero la dirección del vector es diferente y da como resultado un campo de divergencia diferente.

Ejemplo:

Python3

import plotly.graph_objects as go
import numpy as np
  
x, y, z = np.mgrid[0:20, 0:20, 0:20]
x = x.flatten()
y = y.flatten()
z = z.flatten()
  
u = np.zeros_like(x)
v = np.zeros_like(y)
w = z**2
  
fig = go.Figure(data=go.Streamtube(x=x, y=y, z=z, u=u, v=v, w=w))
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 *