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 또는 sizemarkers, 따라서 플롯에 또 다른 차원을 추가합니다. 서로 다른 변수 간의 관계를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)

아래는 위에서 설명한 코드의 출력입니다.