こんにちは。
Excelを使っていると、様々なグラフの書き方があり、見せたいデータに応じて使い分ける必要がありますよね。
折れ線グラフとか棒グラフといったグラフはよく使いますが、能力値とかパラメータとかといった要素をグラフとして可視化する上では、レーダーチャートの形式を使用することもあります。
理学療法とか作業療法の領域だとSTEFとかみたいな下位項目があるような評価を載せる上では非常によく役立ちます。
今回はpythonのグラフ描画パッケージであるmatplotlibを使ってレーダーチャートを作成する方法について紹介していこうと思います。
レーダーチャートは極座標プロットと呼ぶ
レーダーチャートはmatplotlibでprojection = 'polar'を選択するとできる。
import numpy as np import matplotlib.pyplot as plt # カテゴリ(項目)のリスト categories = ['項目1', '項目2', '項目3', '項目4', '項目5'] # サンプルデータ(各カテゴリの値) data = [4, 3, 2, 5, 4] # レーダーチャート用の設定 fig, ax = plt.subplots(subplot_kw={'polar': True}) # データ数を取得 num_categories = len(categories) # 角度を計算 angles = np.linspace(0, 2 * np.pi, num_categories, endpoint=False).tolist() angles += angles[:1] # 閉じた多角形を描画するために最初の角度を追加 # データ表示 data += data[:1] ax.fill(angles, data, 'b', alpha=0.1)
ax.set_xticks(angles[:-1]) ax.set_xticklabels(categories) ax.yaxis.grid(True)