Python绘制雷达图详细代码及注释
时间: 2023-11-21 08:13:48 浏览: 115
好的,下面是Python绘制雷达图的详细代码及注释:
```python
import matplotlib.pyplot as plt
import numpy as np
# 设置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据
categories = ['攻击', '防御', '技能', '生命', '速度']
data = [90, 75, 80, 85, 70] # 五项属性得分
# 绘图
fig = plt.figure(figsize=(6, 6)) # 创建画布
ax = fig.add_subplot(111, polar=True) # 设置为极坐标系
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False) # 计算每个角度
data = np.concatenate((data, [data[0]])) # 闭合数据
angles = np.concatenate((angles, [angles[0]])) # 闭合角度
ax.plot(angles, data, 'o-', linewidth=2) # 绘制雷达图
ax.fill(angles, data, alpha=0.25) # 填充雷达图
ax.set_thetagrids(angles * 180 / np.pi, labels=categories) # 设置极坐标系的角度刻度
ax.set_ylim(0, 100) # 设置极坐标系的半径范围
plt.title('属性雷达图') # 设置标题
plt.show() # 显示图形
```
注释说明:
1. 导入必要的库:`matplotlib.pyplot` 和 `numpy`。
2. 设置中文显示:使用 `plt.rcParams` 来设置字体。
3. 定义数据:`categories` 表示五个属性名称,`data` 表示每个属性的得分。
4. 绘图:创建一个大小为 6x6 的画布,添加一个极坐标系,并设置为 `ax` 变量。使用 `np.linspace` 计算每个角度。为了闭合数据和角度,使用 `np.concatenate` 在数据和角度的末尾添加一个角度值和数据值。使用 `ax.plot` 绘制雷达图,并使用 `ax.fill` 填充雷达图。使用 `ax.set_thetagrids` 设置极坐标系的角度刻度,使用 `ax.set_ylim` 设置极坐标系的半径范围。最后,使用 `plt.title` 设置标题。
5. 显示图形:使用 `plt.show` 显示图形。
阅读全文