はじめに
この実験では、Python の Matplotlib ライブラリを使って 3D のステムプロットを作成する方法を示します。ステムプロットは、ベースラインからデータポイントまで垂直線を引き、先端にマーカーを置くことでデータポイントをプロットする方法です。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
このステップでは、import文を使って Matplotlib と Numpy のライブラリをインポートします。
import matplotlib.pyplot as plt
import numpy as np
データを定義する
このステップでは、3D のステムプロットを作成するために使用するデータを定義します。角度用の linspace 配列を作成し、正弦と余弦関数を使って x 座標と y 座標を計算します。また、z 座標を角度として定義します。
theta = np.linspace(0, 2*np.pi)
x = np.cos(theta - np.pi/2)
y = np.sin(theta - np.pi/2)
z = theta
3D のステムプロットを作成する
このステップでは、Matplotlib のstem関数を使って 3D のステムプロットを作成します。stem関数に x 座標、y 座標、z 座標を引数として渡します。
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
ax.stem(x, y, z)
plt.show()
プロットをカスタマイズする
このステップでは、bottomパラメータを使ってベースラインを変更し、linefmt、markerfmt、basefmtパラメータを使って形式を変更することで、3D のステムプロットをカスタマイズします。
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
markerline, stemlines, baseline = ax.stem(
x, y, z, linefmt='grey', markerfmt='D', bottom=np.pi)
markerline.set_markerfacecolor('none')
plt.show()
プロットの向きを変更する
このステップでは、orientationパラメータを使ってプロットの向きを変更します。ステムが x 方向に投影され、ベースラインが yz 平面にあるように、向きを'x'に設定します。
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
markerline, stemlines, baseline = ax.stem(x, y, z, bottom=-1, orientation='x')
ax.set(xlabel='x', ylabel='y', zlabel='z')
plt.show()
まとめ
この実験では、Python の Matplotlib ライブラリを使って 3D のステムプロットを作成する方法を学びました。まずデータを定義し、次にstem関数を使ってプロットを作成しました。また、形式や向きを変更することでプロットをカスタマイズしました。