Python の Matplotlib を使って 3D 散布図を作成する

PythonPythonBeginner
今すぐ練習

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

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

はじめに

このチュートリアルでは、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_xlabelset_ylabelset_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_xlabelset_ylabelset_zlabel関数を使って軸のラベルを設定し、show関数を使ってグラフを表示しました。これらのスキルを使えば、複雑なデータを分析し可視化するための 3D 散布図を作成してカスタマイズすることができます。