3Dプロット
Plotlyライブラリを使って、複数の3Dプロットを組み合わせて表現してみます。
以下に、複数の3Dサブプロットを表示する例を示します。
1 | import plotly.graph_objs as go |
このコードは、3つの異なる3Dプロットを1つのグラフに表示しています。
それぞれのプロットは異なる関数を表しており、それを3Dサブプロットとして横に並べて表示しています。
サンプルデータとして、2つの円周の$sin$、$cos$関数、そして$ x^2 - y^2 $の関数を生成し、それぞれの3Dサブプロットを作成しています。
これにより、複数の3Dグラフを組み合わせて表示する方法がわかります。
ソースコード解説
ソースコードの各部分を順に説明します。
ライブラリのインポート
1 | import plotly.graph_objs as go |
plotly.graph_objs
はPlotlyのグラフオブジェクトを作成するためのモジュールです。plotly.subplots
はPlotlyのサブプロットを作成するためのモジュールです。numpy
は数値計算を行うためのライブラリです。
サンプルデータの生成
1 | x = np.linspace(-5, 5, 100) |
np.linspace()
は一様に区間を分割する関数で、-5から5までの区間を100分割してxとyの値を生成しています。np.meshgrid()
はx、yの値から格子状の座標を作成しています。np.sin()
、np.cos()
、**
(べき乗演算子)を使用してz1、z2、z3の値を計算しています。
3Dサブプロットの作成
1 | fig = subplots.make_subplots(rows=1, cols=3, |
subplots.make_subplots()
は、指定された行数と列数のサブプロットを作成する関数です。
ここでは1行3列のサブプロットを作成しています。subplot_titles
は、各サブプロットのタイトルを指定しています。specs
は各サブプロットのタイプを指定しています。
3つの3Dサブプロットを追加
1 | fig.add_trace(go.Surface(x=x, y=y, z=z1, colorscale='Viridis'), row=1, col=1) |
fig.add_trace()
を使用して、各3Dサブプロットを作成しています。go.Surface()
は3Dサーフェスプロットを作成するPlotlyの関数です。colorscale
はカラーマップの設定を行っています。
レイアウトの設定と表示
1 | fig.update_layout(title_text='複数の3Dサブプロット', height=600, width=1000) |
fig.update_layout()
でグラフ全体のレイアウトを設定しています。
ここではグラフのタイトルとサイズを指定しています。fig.show()
で作成したグラフを表示しています。
このコードは、3つの異なる関数を表す3Dサブプロットを作成し、それらを1つのグラフにまとめて表示するものです。
それぞれのサブプロットは、異なる特徴を持つ関数を3Dプロットとして表現しています。