言語/language

AI ChatGPTでレーダーチャートを作成する方法【図解】

スポンサーリンク
AI ChatGPTレーダーチャート AI chatGPT
AI ChatGPTレーダーチャート
この記事は約11分で読めます。

ChatGPTを活用したレーダーチャート(レーダープロット)の作成方法、分析・評価方法、改善提案について、Pythonコードと具体事例つきでわかりやすく解説します。

スポンサーリンク

1.  レーダーチャートとは?

レーダーチャート(Radar Chart)は、複数の評価軸を放射状に並べ、対象のバランスや傾向を視覚化するグラフです。品質管理、人材評価、製品比較など幅広く活用されます。

下記に解説するようにAI ChatGPTで簡単に作成、分析ができますがAI ChatGPTに正しいプロンプト文を指示するためにも『レーダーチャートの基礎知識』を学び事が必要です、下記の記事が参考になります。

初心者でもできる!レーダーチャート作成の完全ガイド【図解】
レーダーチャートとは?レーダーチャート(別名:スパイダーチャート、Webチャート)は一つの調査対象、地域などに対して、横断面データなどにおける複数の項目の結果を表示し、量の大小を把握しつつ、構成比にそのバランスや特徴を見るときなどに使用され...

 


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で作成したコードをすぐ試せる

 実行手順(例:レーダーチャート)

  1. ブラウザで https://colab.research.google.com にアクセス

  2. 新しいノートブック」をクリック

  3. コードセルにPythonコードを貼り付け

  4. 上の ▶ ボタン、または「Shift + Enter」で実行

下記が「Google Colabでレーダーチャートを表示する」サンプルです。

*タイトル等の日本語が文字化けしています。

Google Colabでレーダーチャート

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()
Google Colabでレーダーチ

Google Colabでレーダーチャート

 

 


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に投稿しています、ご参考 願います。

レーダーチャートで“見えない力”を見える化した日|monma hiroyuki
アイス工場・新人教育改革の舞台裏 「ねえ、そらさん。やっぱりBくん、最近うまくいってない気がするのよね…」 そうつぶやいたのは、アイス工場で品質管理を担当する私、工藤美咲(くどう みさき)。35歳、仙台出身。趣味は登山とアイスの新作チェック...

コメント

タイトルとURLをコピーしました