Plotly: gráfico de superficie y de dispersión 3D

Este capítulo proporcionará información sobre el gráfico de dispersión tridimensional (3D) y el gráfico de superficie 3D y cómo hacerlos con la ayuda de Plotly.

Gráfico de dispersión 3D

Un diagrama de dispersión tridimensional (3D) es como un diagrama de dispersión, pero con tres variables: x, y, and z or f(x, y)son números reales. El gráfico se puede representar como puntos en un sistema de coordenadas cartesiano tridimensional. Por lo general, se dibuja en una página o pantalla bidimensional utilizando métodos de perspectiva (isométrica o perspectiva), de modo que una de las dimensiones parece estar saliendo de la página.

Los diagramas de dispersión 3D se utilizan para trazar puntos de datos en tres ejes en un intento de mostrar la relación entre tres variables. Cada fila de la tabla de datos está representada por un marcador cuya posición depende de sus valores en las columnas establecidas en elX, Y, and Z axes.

Se puede establecer una cuarta variable para que corresponda a la color o size del markers, agregando así otra dimensión a la trama. La relación entre diferentes variables se llamacorrelation.

UN Scatter3D tracees un objeto gráfico devuelto por la función go.Scatter3D (). Los argumentos obligatorios para esta función son x,y and z cada uno de ellos es un list or array object.

Por ejemplo

import plotly.graph_objs as go
import numpy as np
z = np.linspace(0, 10, 50)
x = np.cos(z)
y = np.sin(z)
trace = go.Scatter3d(
   x = x, y = y, z = z,mode = 'markers', marker = dict(
      size = 12,
      color = z, # set color to an array/list of desired values
      colorscale = 'Viridis'
      )
   )
layout = go.Layout(title = '3D Scatter plot')
fig = go.Figure(data = [trace], layout = layout)
iplot(fig)

La salida del código se da a continuación:

Trazado de superficie 3D

Los gráficos de superficie son diagramas de datos tridimensionales. En una gráfica de superficie, cada punto está definido por 3 puntos: sulatitude, longitudey altitude(X, Y y Z). En lugar de mostrar los puntos de datos individuales, los gráficos de superficie muestran una relación funcional entre undependent variable (Y)y dos variables independientes (X y Z). Esta gráfica es una gráfica complementaria a la gráfica de contorno.

Aquí, hay una secuencia de comandos de Python para representar un diagrama de superficie simple donde y array es la transposición de xyz se calcula como cos (x2 + y2)

import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T # transpose
z = np.cos(x ** 2 + y ** 2)
trace = go.Surface(x = x, y = y, z =z )
data = [trace]
layout = go.Layout(title = '3D Surface plot')
fig = go.Figure(data = data)
iplot(fig)

A continuación se menciona la salida del código que se explica anteriormente: