ตัวอย่างนี้เปรียบเทียบ KPI ของโปรดักต์ A และ B ด้วยเรดาร์ชาร์ตโดยใช้แกนโพลาใน matplotlib
import numpy as np
import matplotlib.pyplot as plt
metrics = ["UX", "ฟีเจอร์", "เสถียรภาพ", "ความเร็ว", "ซัพพอร์ต"]
values_a = np.array([4.2, 4.5, 4.0, 3.9, 4.4])
values_b = np.array([3.8, 4.1, 4.3, 4.5, 3.7])
angles = np.linspace(0, 2 * np.pi, len(metrics), endpoint=False)
values_a = np.concatenate((values_a, [values_a[0]]))
values_b = np.concatenate((values_b, [values_b[0]]))
angles = np.concatenate((angles, [angles[0]]))
fig, ax = plt.subplots(figsize=(5, 5), subplot_kw=dict(polar=True))
ax.plot(angles, values_a, color="#2563eb", linewidth=2, label="โปรดักต์ A")
ax.fill(angles, values_a, color="#2563eb", alpha=0.25)
ax.plot(angles, values_b, color="#f97316", linewidth=2, label="โปรดักต์ B")
ax.fill(angles, values_b, color="#f97316", alpha=0.25)
ax.set_xticks(angles[:-1])
ax.set_xticklabels(metrics)
ax.set_yticks([3, 4, 5])
ax.set_ylim(0, 5)
ax.set_title("เรดาร์ชาร์ตเปรียบเทียบ KPI")
ax.legend(loc="upper right", bbox_to_anchor=(1.3, 1.1))
fig.tight_layout()
plt.show()

อ่านอย่างไร #
- พื้นที่มากกว่าแปลว่าผลงานดีกว่า การซ้อนกันช่วยให้เห็นความต่างชัด
- รักษามุมให้เท่ากัน หากมีตัวชี้วัดมากเกินไปจะอ่านยาก
- เสริมด้วยกราฟแท่งหรือค่าเชิงตัวเลขเพื่อเพิ่มความน่าเชื่อถือ