中国国家队兵乓球运动员雷达图
原创
已于 2024-06-18 09:23:52 修改
·
1.1k 阅读
·
7
·
15
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#python
于 2024-05-29 10:43:01 首次发布
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
radar_labels = np.array(['爆发力', '技巧熟练度', '威慑力', '稳定性', '侵入性', '防御性'])
nAttr = len(radar_labels)
data = np.array([
[0.8, 0.9, 0.75, 0.9, 0.9, 0.8], # 注意最后添加了马龙的数据,为了闭合雷达图
[0.85, 0.87, 0.85, 0.9, 0.8, 0.85],
[0.9, 0.6, 0.8, 0.6, 0.89, 0.9],
[0.8, 0.7, 0.7, 0.9, 0.8, 0.8],
[0.6, 0.9, 0.9, 0.921, 0.87, 0.6]
])
data_labels = ('马龙', '张继科', '马琳', '王励勤', '樊振东')
angles = np.linspace(0, 2 * np.pi, nAttr, endpoint=False).tolist()
angles += angles[:1]
fig, ax = plt.subplots(subplot_kw=dict(polar=True))
# 分别绘制每位运动员的数据
for i, (d, label) in enumerate(zip(data, data_labels), 1):
ax.plot(angles, np.concatenate((d, [d[0]])), color=f'C{i - 1}', linewidth=2, label=label)
ax.fill(angles, np.concatenate((d, [d[0]])), color=f'C{i - 1}', alpha=0.25)
angle_ticks = np.linspace(0, 2 * np.pi, nAttr, endpoint=Fal