極座標軸上の散布図

Beginner

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

はじめに

このチュートリアルでは、Python の Matplotlib を使って極座標軸上に散布図を作成する方法を学びます。極座標プロットは、極座標で表示されるデータのグラフィカルな表現です。データが周期的または円形の性質を持っている場合、たとえば時間や方向にわたって測定されたデータの場合に便利です。

VM のヒント

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

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

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

必要なライブラリをインポートする

極座標軸上に散布図を作成するには、Matplotlib と NumPy のライブラリをインポートする必要があります。再現性のために乱数シードも設定します。

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(19680801)

ランダムなデータを生成する

NumPy を使って散布図用のランダムなデータを生成します。ランダムな半径と角度の値を持つ 150 個のデータポイントを作成し、各ポイントの面積と色を計算します。

N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta

極座標軸上に散布図を作成する

plt.scatter() 関数を使って極座標軸上に散布図を作成します。projection パラメータを 'polar' に設定し、半径、角度、色、面積の値をパラメータとして渡します。

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

原点をオフセットした極座標軸上に散布図を作成する

PolarAxes オブジェクトの set_rorigin()set_theta_zero_location() メソッドを設定することで、原点をオフセットした極座標軸上に散布図を作成できます。原点半径を -2.5 に設定し、オフセット 10 でゼロ位置のゼータを 'W' に設定します。

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

ax.set_rorigin(-2.5)
ax.set_theta_zero_location('W', offset=10)

セクタに制限された極座標軸上に散布図を作成する

PolarAxes オブジェクトの set_thetamin()set_thetamax() メソッドを設定することで、セクタに制限された極座標軸上に散布図を作成できます。ゼータの開始と終了の制限をそれぞれ 45135 に設定します。

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

ax.set_thetamin(45)
ax.set_thetamax(135)

まとめ

このチュートリアルでは、Python の Matplotlib を使って極座標軸上に散布図を作成する方法を学びました。ランダムなデータを生成し、極座標軸上に散布図を作成し、原点をオフセットした極座標軸上に散布図を作成し、セクタに制限された極座標軸上に散布図を作成しました。極座標プロットは、時間や方向にわたって測定されたデータなど、周期的または円形のデータを表示するのに役立ちます。