ChatGPTを活用したレーダーチャート(レーダープロット)の作成方法、分析・評価方法、改善提案について、Pythonコードと具体事例つきでわかりやすく解説します。
1. レーダーチャートとは?
レーダーチャート(Radar Chart)は、複数の評価軸を放射状に並べ、対象のバランスや傾向を視覚化するグラフです。品質管理、人材評価、製品比較など幅広く活用されます。
下記に解説するようにAI ChatGPTで簡単に作成、分析ができますがAI ChatGPTに正しいプロンプト文を指示するためにも『レーダーチャートの基礎知識』を学び事が必要です、下記の記事が参考になります。

2. ChatGPTでレーダーチャートを作成するには?
ChatGPTに以下のようなプロンプトを入力すれば、Pythonコードを自動生成できます。
プロンプト例
「作業者A〜Cの5項目スキル(正確性、スピード、清掃意識、安全意識、協調性)を比較するレーダーチャートを作成するPythonコードを教えて」
3. Pythonコードによるレーダーチャート作成(Google Colab可)
Pythonコードを実行させるには、初心者には【Google Colab】がおすすめです。
import matplotlib.pyplot as plt
import numpy as np
# 評価項目
labels = ['正確性', 'スピード', '清掃意識', '安全意識', '協調性']
num_vars = len(labels)
# 作業者ごとのスコア(5点満点)
worker_scores = {
'Aさん': [4, 3, 5, 4, 4],
'Bさん': [2, 4, 3, 3, 2],
'Cさん': [5, 5, 4, 5, 5],
}
# 各項目の角度を計算
angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()
angles += angles[:1] # 閉じる
# グラフ作成
plt.figure(figsize=(8, 6))
for name, scores in worker_scores.items():
stats = scores + scores[:1]
plt.polar(angles, stats, label=name)
plt.fill(angles, stats, alpha=0.1)
# 装飾
plt.xticks(angles[:-1], labels, fontproperties='Noto Sans CJK JP')
plt.title("作業者別スキル評価レーダーチャート")
plt.legend(loc='upper right')
plt.grid(True)
plt.show()
Google Colab(初心者に最適)
特徴
-
ブラウザだけでOK、インストール不要
-
ChatGPTで作成したコードをすぐ試せる
実行手順(例:レーダーチャート)
-
ブラウザで https://colab.research.google.com にアクセス
-
「新しいノートブック」をクリック
-
コードセルにPythonコードを貼り付け
-
上の ▶ ボタン、または「Shift + Enter」で実行
下記が「Google Colabでレーダーチャートを表示する」サンプルです。
*タイトル等の日本語が文字化けしています。
(日本語フォント対応)修正済コード
import matplotlib.pyplot as plt import numpy as np from matplotlib import font_manager import matplotlib as mpl # === 日本語フォントの設定(例:Noto Sans CJK JP)=== # Google Colabの場合のみ: get_ipython().system('apt-get install fonts-noto-cjk -y') # Find the path to the installed font # This path might vary slightly depending on the Colab environment # You can use !fc-list :lang=ja to find available Japanese fonts and their paths # get_ipython().system('fc-list :lang=ja') # Assuming the output of fc-list shows a path like '/usr/share/fonts/truetype/noto/NotoSansCJKjp-Regular.otf' # Update the font_path accordingly font_path = '/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc' # Add the font to Matplotlib's font manager font_manager.fontManager.addfont(font_path) # Set the font properties font_prop = font_manager.FontProperties(fname=font_path) # 評価項目 labels = ['正確性', 'スピード', '清掃意識', '安全意識', '協調性'] num_vars = len(labels) # 作業者ごとのスコア(5点満点) worker_scores = { 'Aさん': [4, 3, 5, 4, 4], 'Bさん': [2, 4, 3, 3, 2], 'Cさん': [5, 5, 4, 5, 5], } # 各項目の角度を計算 angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist() angles += angles[:1] # 閉じる # グラフ作成 plt.figure(figsize=(8, 6)) for name, scores in worker_scores.items(): stats = scores + scores[:1] plt.polar(angles, stats, label=name) plt.fill(angles, stats, alpha=0.1) # 装飾 plt.xticks(angles[:-1], labels, fontproperties=font_prop) plt.title("作業者別スキル評価レーダーチャート", fontproperties=font_prop) plt.legend(loc='upper right', prop=font_prop) plt.grid(True) plt.show()
4. レーダーチャートの分析・評価方法
観点 | 内容 |
---|---|
バランス | 五角形の形が均等に近いほどバランスが良い。 |
強み | 他より突出して高い項目を特定(例:Cさんの「協調性」5点) |
弱み | 全体で凹んでいる部分は重点改善対象(例:Bさんの「正確性」2点) |
比較 | 同一評価軸で誰が優れているか、全体傾向を分析 |
5. 改善提案の導き方
- ギャップ分析:最上位スコアとの差を算出し、教育重点項目を明確化
- 平均以下の項目は研修計画の優先順位に
- 部門全体の傾向を見る場合、複数人の平均スコアでレーダー作成
6. 【事例】高校生5人の科目別学力評価 レーダーチャート
背景
高校生5人の科目別学力評価をテスト成績点数を基に評価、改善提案を提出。
各生徒のテスト点数(100点満点)
生徒 | 国語 | 数学 | 英語 | 理科 | 社会 |
---|---|---|---|---|---|
Aくん | 65 | 88 | 72 | 90 | 58 |
Bさん | 85 | 62 | 91 | 60 | 88 |
Cさん | 70 | 75 | 78 | 68 | 74 |
Dくん | 50 | 55 | 60 | 45 | 52 |
Eさん | 82 | 80 | 85 | 79 | 84 |
レーダーチャートの作成(Python)
# 日本語フォントをインストール(Google Colab専用) !apt-get -y install fonts-noto-cjk # ライブラリをインポート import matplotlib.pyplot as plt import numpy as np import matplotlib.font_manager as fm # フォントの設定 font_path = "/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.otf" font_prop = fm.FontProperties(fname=font_path) # 評価項目 labels = ['国語', '数学', '英語', '理科', '社会'] num_vars = len(labels) # 各軸の角度を計算 angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist() angles += angles[:1] # 最初の角度を最後に追加して円を閉じる # 各生徒の点数データ students = { 'Aくん': [65, 88, 72, 90, 58], 'Bさん': [85, 62, 91, 60, 88], 'Cさん': [70, 75, 78, 68, 74], 'Dくん': [50, 55, 60, 45, 52], 'Eさん': [82, 80, 85, 79, 84] } # レーダーチャートの描画 plt.figure(figsize=(8, 6)) for name, scores in students.items(): stats = scores + scores[:1] # 最初の値を最後に追加して閉じる plt.polar(angles, stats, label=name) plt.fill(angles, stats, alpha=0.1) # ラベルとタイトルの設定 plt.xticks(angles[:-1], labels, fontproperties=font_prop) plt.title("高校生5人の教科別レーダーチャート", fontproperties=font_prop) # 凡例とグリッド表示 plt.legend(loc='upper right', prop=font_prop) plt.grid(True) # グラフを表示 plt.show()
評価ポイント(レーダー分析)
観点 | 分析 |
---|---|
バランス型 | Cさん・Eさんは五角形に近く、得意・不得意の差が小さい。 |
理系寄り | Aくんは「数学」「理科」が特に高く、「社会」が弱点。 |
文系寄り | Bさんは「国語」「英語」「社会」が高く、理科が弱点。 |
課題多め | Dくんは全体的に点数が低く、特に「理科」が課題。 |
ChatGPTによる改善提案(例)
生徒 | 改善提案 |
---|---|
Aくん | 社会を重点的に補強。理系進学に向けて総合点アップが必要。 |
Bさん | 数学と理科に弱点があるため、理数基礎の復習を計画的に。 |
Cさん | バランスは良いが、強みがない。どこか1教科を特化させて差別化を。 |
Dくん | 全体底上げが必要。まずは「数学」と「理科」の基礎固めから。 |
Eさん | 非常に安定。応用問題や模試対策でさらなる高みを目指す。 |
要素 | 内容 |
---|---|
可視化 | 点数のばらつき・特性を視覚的に把握できる |
分析 | 得意・不得意、文理傾向、全体バランスを瞬時に理解可能 |
改善 | 具体的な「強化対象科目」が明確になる |
活用場面 | 成績指導、面談、進路指導、自己分析など |
レーダーチャートで「自分を知る」
成績はただの点数じゃない。
それは、自分の得意・不得意を映す「地図」、レーダーチャートは、**高校生一人ひとりの“学びの形”**を見える化してくれる。
それが次の一歩を考えるヒントになる。
まとめ
「レーダーチャート」は、**“見えにくい複数の指標を一目で可視化する”**強力なツールです。ChatGPTとPythonを組み合わせることで、誰でも簡単に作成・分析・改善に活用できます。
レーダーチャートの実際の使い方の記事をnoteに投稿しています、ご参考 願います。

コメント