给我一份python绘制多组数据雷达图的代码
时间: 2023-11-27 18:06:21 浏览: 77
PYTHON绘制雷达图代码实例
好的,以下是使用 Python 和 matplotlib 库绘制多组数据雷达图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
data = {
"group1": [0.6, 0.7, 0.8, 0.9, 0.95],
"group2": [0.2, 0.4, 0.6, 0.8, 0.9],
"group3": [0.1, 0.3, 0.5, 0.7, 0.8]
}
# 标签
labels = ["A", "B", "C", "D", "E"]
# 使用 matplotlib 创建一个子图
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
# 设置角度
angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
# 绘制每组数据的雷达图
for i, (name, values) in enumerate(data.items()):
# 将第一个值放到最后一个,以使雷达图闭合
values = np.concatenate((values, [values[0]]))
# 绘制雷达图
ax.plot(angles, values, label=name)
ax.fill(angles, values, alpha=0.1)
# 设置雷达图的参数
ax.set_thetagrids(angles[:-1] * 180 / np.pi, labels)
ax.set_ylim([0, 1])
ax.grid(True)
# 添加图例
ax.legend(loc='upper right', bbox_to_anchor=(0.1, 0.1))
# 显示雷达图
plt.show()
```
在这个示例代码中,我们使用了一个字典来存储多组数据,每组数据都是一个列表。我们使用 `for` 循环来遍历每组数据,使用 `plot()` 方法绘制雷达图,并使用 `fill()` 方法填充图形。我们还使用了 `set_thetagrids()` 方法来设置角度和标签,使用 `set_ylim()` 方法来设置雷达图的 Y 轴范围,使用 `grid()` 方法绘制网格线,使用 `legend()` 方法添加图例。最后,使用 `show()` 方法显示雷达图。
阅读全文