Plotly-3D 산점도 및 표면도
이 장에서는 3 차원 (3D) 산점도 및 3D 표면도에 대한 정보와 Plotly를 사용하여 만드는 방법에 대해 설명합니다.
3D 산점도
3 차원 (3D) 산점도는 산점도와 비슷하지만 세 가지 변수가 있습니다. x, y, and z or f(x, y)실수입니다. 그래프는 3 차원 데카르트 좌표계에서 점으로 표시 될 수 있습니다. 일반적으로 원근법 (등각 투영 또는 원근법)을 사용하여 2 차원 페이지 또는 화면에 그려 지므로 차원 중 하나가 페이지에서 나오는 것처럼 보입니다.
3D 산점도는 세 변수 간의 관계를 표시하기 위해 세 축에 데이터 포인트를 그리는 데 사용됩니다. 데이터 테이블의 각 행은 해당 위치가X, Y, and Z axes.
네 번째 변수는 color 또는 size 의 markers, 따라서 플롯에 또 다른 차원을 추가합니다. 서로 다른 변수 간의 관계를correlation.
ㅏ Scatter3D tracego.Scatter3D () 함수가 반환하는 그래프 객체입니다. 이 함수에 대한 필수 인수는 x,y and z 그들 각각은 list or array object.
예를 들면-
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)
코드의 출력은 다음과 같습니다.
3D 표면 플롯
표면도는 3 차원 데이터의 다이어그램입니다. 표면도에서 각 점은 3 개의 점으로 정의됩니다.latitude, longitude, 및 altitude(X, Y 및 Z). 개별 데이터 포인트를 표시하는 대신 표면도는 지정된 데이터 포인트 간의 기능적 관계를 보여줍니다.dependent variable (Y), 두 개의 독립 변수 (X 및 Z). 이 플롯은 등고선 플롯의 동반 플롯입니다.
다음은 간단한 표면도를 렌더링하는 Python 스크립트입니다. y array x의 전치이고 z는 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)
아래는 위에서 설명한 코드의 출력입니다.