雷达图(Radar Chart)是一种可视化图表,也被称为蛛网图、星形图或极坐标图。它以一个中心点为起点,从中心点向外延伸出多条射线,每条射线代表一个特定的变量或指标。每条射线上的点或线段表示该变量在不同维度上的取值或得分。雷达图常用于比较多个变量在不同维度上的表现,以及展示各个变量之间的相对关系。
import numpy as np
import matplotlib.pyplot as plt
# 角度列表
angles = np.linspace(0, 2 * np.pi, 6, endpoint=False).tolist()
# 数据组
data_groups = [
[3, 5, 2, 6, 8, 4], # 第一组数据
[1, 2, 4, 3, 7, 9], # 第二组数据
[0, 1, 3, 2, 4, 6] # 第三组数据
]
# 设置标签
labels = ['A', 'B', 'C', 'D', 'E', 'F']
clist = ['blue', 'red', 'green', 'black', 'darkgreen', 'lime', 'gold', 'purple', 'green', 'cyan', 'salmon', 'grey',
'mediumvioletred', 'darkkhaki', 'gray', 'darkcyan', 'violet', 'powderblue']
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
# 为每组数据绘制雷达图
for i,data in enumerate(data_groups):
ax.fill(angles, data, color=clist[i], alpha=0.25)
ax.plot(angles, data, 'o', markeredgewidth=2, markeredgecolor=clist[i])
ax.set_thetagrids(np.degrees(angles), labels)
plt.grid(True) # 添加网格线以更清晰地显示数据
plt.pause(0.1) # 暂停一段时间以便于观察每组数据的绘制过程
plt.show()