雷达图概念及介绍¶
雷达图(Radar Chart)是一种用于显示多变量数据的图表类型,在Matplotlib中也可以绘制雷达图。雷达图通常用于比较不同类别的数据在多个变量上的表现,以便直观地展示各变量之间的关系和趋势。
使用场景:
- 综合评估:用于综合评估多个指标或维度下的数据表现,例如产品特征对比、个人能力评估等。
- 趋势分析:展示不同时间点或条件下各变量值的变化趋势,帮助分析数据随时间或条件的变化情况。
- 优劣势比较:用于比较不同方案、策略或产品在各项指标上的优劣势,帮助做出决策。
雷达图函数说明¶
matplotlib.pyplot.polar(theta, r, **kwargs)
- theta:表示角度的数组,即各个数据点对应的角度值。
- r:表示半径或长度的数组,即各个数据点对应的半径值或长度值。
- kwargs:其他可选参数,用于控制绘图的样式和属性,例如颜色、线型、标记等。常用参数包括:
- color:线条颜色
- linestyle:线条样式
- linewidth:线条宽度
- marker:数据点标记样式
- markersize:数据点标记大小
- label:图例标签
- 等等。
雷达图示例代码¶
In [10]:
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['生存能力', '输出能力', '控制能力', '移动能力', '发育能力']
values_hua_mulan = [8, 7, 6, 9, 7]
# 设置中文显示字体
plt.rcParams['font.sans-serif'] = ['PingFang HK']
plt.figure(figsize=(15,8))
# 构建雷达图
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
num_vars = len(categories)
# 生成角度数组,用于表示各属性在雷达图中的位置。
angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()
# 将第一个数据点重复以闭合雷达图
values_hua_mulan += values_hua_mulan[:1]
angles += angles[:1]
# 填充雷达图的区域,表示花木兰英雄在各属性上的评分。
ax.fill(angles, values_hua_mulan, color='b', alpha=0.25)
# 设置雷达图的角度和标签
ax.set_xticks(np.arange(len(categories)) * 2 * np.pi / len(categories))
ax.set_xticklabels(categories)
# 添加图例标题
ax.legend(['花木兰的英雄属性'], loc='upper right')
plt.show()
<Figure size 1500x800 with 0 Axes>