中国国家队兵乓球运动员雷达图

原创

已于 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