はじめに
このチュートリアルでは、Python の Matplotlib ライブラリを使って 3D 散布図を作成する方法を説明します。散布図は、3 つの変数間の関係をグラフィカルに表したもので、複雑なデータのパターンや傾向を特定するのに役立つツールです。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題があった場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
3D 散布図を作成するには、Matplotlib ライブラリを使用します。また、NumPy ライブラリを使ってランダムなデータを生成します。
import matplotlib.pyplot as plt
import numpy as np
データを設定する
NumPy ライブラリを使って、ランダムな値を持つ 2 セットのデータを生成します。1 セットは x 座標と y 座標を表し、もう 1 セットは z 座標を表します。
def randrange(n, vmin, vmax):
"""
Helper function to make an array of random numbers having shape (n, )
with each number distributed Uniform(vmin, vmax).
"""
return (vmax - vmin)*np.random.rand(n) + vmin
n = 100
for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:
xs = randrange(n, 23, 32)
ys = randrange(n, 0, 100)
zs = randrange(n, zlow, zhigh)
グラフとサブプロットを作成する
Matplotlib ライブラリのadd_subplot関数を使って、グラフとサブプロットを作成します。また、3D プロットを作成するために投影を「3d」に設定します。
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
散布図を作成する
Matplotlib ライブラリのscatter関数を使って、散布図を作成します。x 座標、y 座標、z 座標とマーカースタイルを渡します。
ax.scatter(xs, ys, zs, marker=m)
軸のラベルを設定する
Matplotlib ライブラリのset_xlabel、set_ylabel、set_zlabel関数を使って、x 軸、y 軸、z 軸のラベルを設定します。
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
グラフを表示する
Matplotlib ライブラリのshow関数を使って、グラフを表示します。
plt.show()
まとめ
このチュートリアルでは、Python の Matplotlib ライブラリを使って 3D 散布図を作成する方法を学びました。NumPy ライブラリを使ってデータを設定し、add_subplot関数を使ってグラフとサブプロットを作成し、scatter関数を使って散布図を作成し、set_xlabel、set_ylabel、set_zlabel関数を使って軸のラベルを設定し、show関数を使ってグラフを表示しました。これらのスキルを使えば、複雑なデータを分析し可視化するための 3D 散布図を作成してカスタマイズすることができます。