はじめに
この実験では、Python の Matplotlib を使って 3D の曲面グラフを作成する方法を示します。この曲面は単色で描画されます。この実験では、データの作成、曲面の描画、アスペクト比の設定など、処理の各ステップを案内します。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に直面した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。私たちは迅速に問題を解決いたします。
必要なライブラリのインポート
最初のステップは、必要なライブラリをインポートすることです。この実験では、Matplotlib と NumPy のライブラリを使用します。
import matplotlib.pyplot as plt
import numpy as np
データの作成
次のステップは、3D 曲面用のデータを作成することです。u、v、x、y、z を定義する必要があります。これらの変数は、曲面を描画するために必要な角度と座標を表します。NumPy の linspace() 関数を使って角度を作成し、outer() 関数を使って座標を作成します。
## Make data
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
3D 曲面グラフの作成
これで 3D 曲面グラフを作成できます。まず、projection='3d' 引数を使って図を作成し、サブプロットを追加します。そして、前のステップで作成したデータを使って plot_surface() 関数を使って曲面を描画します。
## Plot the surface
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(x, y, z)
アスペクト比の設定
グラフが等しいアスペクト比になるようにするには、set_aspect() 関数を使用できます。アスペクト比を 1:1 に設定するには、文字列値 'equal' を渡します。
## Set an equal aspect ratio
ax.set_aspect('equal')
まとめ
この実験では、Python の Matplotlib を使って 3D 曲面グラフを作成する方法を示しました。データを作成し、曲面を描画し、アスペクト比を設定しました。結果として得られるグラフは、単色の基本的な 3D 曲面グラフです。