Plotly - 3D Scatter e Surface Plot
Questo capitolo fornirà informazioni sul grafico a dispersione tridimensionale (3D) e sul grafico di superficie 3D e su come realizzarli con l'aiuto di Plotly.
Grafico a dispersione 3D
Un grafico a dispersione tridimensionale (3D) è come un grafico a dispersione, ma con tre variabili: x, y, and z or f(x, y)sono numeri reali. Il grafico può essere rappresentato come punti in un sistema di coordinate cartesiane tridimensionali. Viene tipicamente disegnato su una pagina o uno schermo bidimensionale utilizzando metodi prospettici (isometrici o prospettici), in modo che una delle dimensioni sembri uscire dalla pagina.
I grafici a dispersione 3D vengono utilizzati per tracciare i punti dati su tre assi nel tentativo di mostrare la relazione tra tre variabili. Ogni riga nella tabella dati è rappresentata da un indicatore la cui posizione dipende dai suoi valori nelle colonne impostate inX, Y, and Z axes.
Una quarta variabile può essere impostata in modo che corrisponda a color o size del markers, quindi, aggiungendo ancora un'altra dimensione alla trama. Viene chiamata la relazione tra variabili diversecorrelation.
UN Scatter3D traceè un oggetto grafico restituito dalla funzione go.Scatter3D (). Gli argomenti obbligatori per questa funzione sono x,y and z ognuno di loro è un file list or array object.
Ad esempio:
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)
L'output del codice è fornito di seguito:
Grafico di superficie 3D
I grafici di superficie sono diagrammi di dati tridimensionali. In un grafico di superficie, ogni punto è definito da 3 punti: il suolatitude, longitude, e altitude(X, Y e Z). Piuttosto che mostrare i singoli punti dati, i grafici di superficie mostrano una relazione funzionale tra un designatodependent variable (Y)e due variabili indipendenti (X e Z). Questo grafico è un grafico associato al grafico di contorno.
Ecco uno script Python per rendere semplice trama di superficie dove y array è trasposto di x e z è calcolato come 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)
Di seguito è menzionato l'output del codice spiegato sopra -