極座標軸上の散布図

MatplotlibMatplotlibBeginner
今すぐ練習

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

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

はじめに

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

VM のヒント

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/scatter_plots("Scatter Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/PythonStandardLibraryGroup -.-> python/math_random("Math and Random") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48875{{"極座標軸上の散布図"}} matplotlib/figures_axes -.-> lab-48875{{"極座標軸上の散布図"}} matplotlib/scatter_plots -.-> lab-48875{{"極座標軸上の散布図"}} python/tuples -.-> lab-48875{{"極座標軸上の散布図"}} python/importing_modules -.-> lab-48875{{"極座標軸上の散布図"}} python/standard_libraries -.-> lab-48875{{"極座標軸上の散布図"}} python/math_random -.-> lab-48875{{"極座標軸上の散布図"}} python/numerical_computing -.-> lab-48875{{"極座標軸上の散布図"}} python/data_visualization -.-> lab-48875{{"極座標軸上の散布図"}} end

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

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