[matplotlib] 133. Polar axis(極座標軸)での散布図

matplotlib

Polar axis(極座標軸)での散布図

Polar AxisでのScatter Plotについて

Matplotlibの極座標系(Polar axis)を使ったscatter plotは、通常のx-y座標とは異なる視覚表現を可能にします。角度と半径でデータを配置することで、円形の分布や周期的なパターンを直感的に表現できます。本記事では、基本的な使い方から応用例まで、具体的なコードとともに解説します。

コード&解説

モジュールのインポート

バージョン

基本的な使い方

Matplotlibでpolar scatter plotを作成するには、subplot_kw={'projection': 'polar'}を指定します。

主な特徴

  • 角度(theta): 点の角度位置を指定します。0から2πの範囲で表現されます。
  • 半径(r): 中心からの距離を表します。値が大きいほど中心から離れた位置に配置されます。
  • サイズ(s): マーカーのサイズを制御できます。半径に応じて変化させることで視覚的な効果を高められます。
  • 色(c): カラーマップを使用して、角度や半径に応じた色分けが可能です。

原点位置の調整

このコードは、極座標系のscatter plotで原点の位置を調整する例です:

  • ax.set_rorigin(-1.0)これが重要なポイントです。極座標の原点(中心)を半径-1.0の位置に移動します。つまり、通常の中心から外側に1.0単位離れた位置が新しい原点になります。これにより、プロットの見え方が変わり、中心部分に空白ができます

角度の基準位置(0度の位置)を変更

このコードは、極座標系のscatter plotで角度の基準位置(0度の位置)を変更する例です:

  • ax.set_theta_zero_location('W', offset=90)– これが重要なポイントです。通常、極座標の0度は右側(東)にありますが、この設定で西(’W’)を基準位置に変更します。さらにoffset=90により、その位置から反時計回りに90度回転させます。

つまり、西(左側)から90度反時計回りに回転した位置(北側)が新しい0度の位置になります。これにより、プロットの向きを自由に調整できます。

他の位置指定オプション:

  • ‘N’ (北/上)
  • ‘S’ (南/下)
  • ‘E’ (東/右)
  • ‘W’ (西/左)

ミャクミャク風プロット

このコードは、極座標系のscatter plotを使ってミャクミャク(大阪・関西万博のキャラクター)の顔を描画しています。

データの生成部分

  • 赤色の点(theta_r, r_r, s_r): ミャクミャクの特徴的な赤い細胞のような部分を表現。12個の点を角度と半径で配置し、サイズを個別に設定しています。
  • 白色の点(theta_w, r_w, s_w): 目の白い部分を表現。5個の点で構成されています。
  • 青色の点(theta_b, r_b, s_b): 目の瞳の青い部分を表現。白色の点の上に重ねて配置され、サイズは白色の点の0.2倍になっています。

プロット部分

  • ax.set_rlim(0, 2) – 半径の範囲を0〜2に設定
  • background=ax.scatter(0,0,c="#0168b6",s=6*10**4) – 中心に大きな青色の円を配置して背景(顔の土台)を作成
  • clip_on=False – プロット領域の外にはみ出しても点を表示できるようにする設定
  • 描画順序:背景(青)→ 赤い点 → 白い点 → 青い点(瞳)の順で重ねています

各点の角度(theta)と半径(r)、サイズ(s)を調整することで、ミャクミャクの特徴的な顔の配置を再現しています。

まとめ

Polar axisでのscatter plotは、極座標系の特性を活かした効果的なデータ可視化手法です。基本的な使い方として、projection='polar'を指定することで簡単に実装でき、角度(theta)、半径(r)、サイズ(s)、色(c)といったパラメータを自由に調整できます。set_rorigin()による原点位置の変更やset_theta_zero_location()による角度基準の調整など、高度なカスタマイズも可能です。本記事で紹介したミャクミャクの描画例のように、科学的なデータ分析だけでなく、創造的な視覚表現にも応用できる柔軟性の高い手法です。

参考

Scatter plot on polar axis — Matplotlib 3.10.7 documentation
公式キャラクターについて | EXPO 2025 大阪・関西万博公式Webサイト
2025年の万博、日本、大阪・関西で開催!テーマは「いのち輝く未来社会のデザイン」。

コメント