Matplotlib を使った 3D 曲面グラフの作成

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Python の Matplotlib を使って 3D の曲面グラフを作成する方法を示します。この曲面は単色で描画されます。この実験では、データの作成、曲面の描画、アスペクト比の設定など、処理の各ステップを案内します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に直面した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。私たちは迅速に問題を解決いたします。

必要なライブラリのインポート

最初のステップは、必要なライブラリをインポートすることです。この実験では、Matplotlib と NumPy のライブラリを使用します。

import matplotlib.pyplot as plt
import numpy as np

データの作成

次のステップは、3D 曲面用のデータを作成することです。uvxyz を定義する必要があります。これらの変数は、曲面を描画するために必要な角度と座標を表します。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 曲面グラフです。