3D のステムプロット

PythonPythonBeginner
オンラインで実践に進む

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、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パラメータを使ってベースラインを変更し、linefmtmarkerfmtbasefmtパラメータを使って形式を変更することで、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関数を使ってプロットを作成しました。また、形式や向きを変更することでプロットをカスタマイズしました。