3D散布図/3Dサーフェスプロット Plotly

3D散布図/3Dサーフェスプロット

Plotlyを使って3Dグラフを描く方法はいくつかあります。

以下に、3D散布図3Dサーフェスプロットの例を示します。

まず、必要なライブラリをインポートします。

1
2
import plotly.graph_objects as go
import numpy as np

3D散布図

以下のコードは、3D散布図を描く例です。

ここでは、ヘリックスの方程式を使って3D空間に点を配置します。

1
2
3
4
5
6
# ヘリックスの方程式
t = np.linspace(0, 10, 50)
x, y, z = np.cos(t), np.sin(t), t

fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='markers')])
fig.show()

3Dサーフェスプロット

以下のコードは、3Dサーフェスプロットを描く例です。

ここでは、3D空間にサーフェスを配置します。

1
2
3
4
5
6
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T
z = np.cos(x ** 2 + y ** 2)

fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])
fig.show()

これらのコードは、Plotlyを使って3D散布図3Dサーフェスプロットを描きます。

ソースコード解説

ソースコードの詳細を説明します。

まず、必要なライブラリをインポートします。

1
2
import plotly.graph_objects as go
import numpy as np

3D散布図

次に、ヘリックスの方程式を使用して3D空間に点を配置します。

ヘリックスの方程式は、3次元空間でのヘリックスの形状を定義する数学的な式です。

ここでは、時間tに対してxyの位置を計算し、zは時間t自体とします。

1
2
3
# ヘリックスの方程式
t = np.linspace(0, 10, 50)
x, y, z = np.cos(t), np.sin(t), t

これらの位置を使用して3D散布図を描画します。

go.Scatter3dは、3D空間での散布図を作成するためのPlotlyの関数です。

x=x, y=y, z=zは、散布図の座標を指定し、mode='markers'は、各点をマーカーとして表示することを指定します。

1
2
fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='markers')])
fig.show()

3Dサーフェスプロット

次に、3Dサーフェスプロットを描画します。

3Dサーフェスプロットは、3次元空間でのサーフェスを表示するためのプロットです。

ここでは、3D空間でのサーフェスの形状を定義する数学的な式を使用します。

1
2
3
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T
z = np.cos(x ** 2 + y ** 2)

これらの位置を使用して3Dサーフェスプロットを描画します。

go.Surfaceは、3Dサーフェスプロットを作成するためのPlotlyの関数です。

x=x, y=y, z=zは、サーフェスの座標を指定します。

1
2
fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])
fig.show()

このコードは、Plotlyを使用して3D散布図3Dサーフェスプロットを描画します。