Plotly-3d-scatter-and-surface-plot
提供:Dev Guides
Plotly-3D散布図と表面プロット
この章では、3次元(3D)散布図と3D表面図、およびPlotlyを使用してそれらを作成する方法について説明します。
3D散布図
3次元(3D)散布図は散布図に似ていますが、* x、y、zの3つの変数、またはf(x、y)*が実数です。 グラフは、3次元デカルト座標系の点として表すことができます。 これは通常、遠近法(等角投影または遠近法)を使用して2次元のページまたは画面に描画されるため、いずれかの次元がページから出ているように見えます。
3D散布図は、3つの変数間の関係を示すために、3つの軸にデータポイントをプロットするために使用されます。 データテーブルの各行はマーカーで表され、その位置は* X、Y、Z軸*に設定された列の値に依存します。
4番目の変数は、*マーカー*の*色*または*サイズ*に対応するように設定できるため、プロットにさらに別の次元を追加できます。 異なる変数間の関係は、*相関*と呼ばれます。
- Scatter3Dトレース*は、go.Scatter3D()関数によって返されるグラフオブジェクトです。 この関数の必須の引数はx、 y、z です。これらはそれぞれ*リストまたは配列オブジェクト*です。
たとえば-
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つのポイントによって定義されます:緯度、経度、高度(X、Y、Z)。 個別のデータポイントを表示するのではなく、表面プロットは指定された*従属変数(Y)*と2つの独立変数(XおよびZ)の間の関数関係を示します。 このプロットは、コンタープロットのコンパニオンプロットです。
ここでは、* y配列*がxの転置で、zがcos(x2 + y2)として計算される単純な表面プロットをレンダリングするPythonスクリプトです
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)
以下は、上記で説明したコードの出力です-