Plotly Isosurfaceを使った等値面プロット

Plotly Isosurfaceを使った等値面プロット#

※記事内に商品プロモーションを含むことがあります。

公開日

Pythonのインタラクティブなグラフを描画できるライブラリPlotlyにて、Isosurfaceを使った等値面プロットを描画する方法を解説します。

等値面プロットは、3次元空間におけるスカラー値を描画するものです。 3次元空間における気温をプロットするイメージです。

Plotlyには、高水準のAPIであるPlotly Expressと呼ばれるものもありますが、 この記事では細かい調節ができるgraph_objectsを対象としています。

Isosurfaceの基礎#

go.Isosurfaceを使った等値面プロットの簡単な例を示します。 go.Isosurface()x, y, zに座標を、valueに3次元空間における値を指定します。

import plotly.graph_objects as go

x = [0, 0, 0, 0, 1, 1, 1, 1]
y = [0, 0, 1, 1, 0, 0, 1, 1]
z = [0, 1, 0, 1, 0, 1, 0, 1]
values = [0, 0, 1, 1, 2, 2, 3, 3]

fig = go.Figure(
    data=go.Isosurface(x=x, y=y, z=z, value=values)
)
fig.show()