matplotlib绘制雷达图标出数据
时间: 2023-09-10 14:04:49 浏览: 104
要绘制雷达图,需要使用matplotlib中的`pyplot`和`polar`模块。首先,将数据转换成极坐标系下的坐标,然后使用`plot`函数绘制线条,最后使用`fill`函数填充颜色。
以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [4, 3, 2, 5, 1]
# 极坐标系下的角度
angles = np.linspace(0, 2*np.pi, len(categories), endpoint=False)
# 将数据归一化到[0, 1]范围内
values = np.concatenate((values,[values[0]]))
angles = np.concatenate((angles,[angles[0]]))
values = (values - np.min(values)) / (np.max(values) - np.min(values))
# 绘制雷达图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, values, 'o-', linewidth=2)
ax.fill(angles, values, alpha=0.25)
ax.set_thetagrids(angles * 180/np.pi, categories)
ax.grid(True)
plt.show()
```
这个例子会绘制出一个五边形的雷达图,其中每个角代表一个类别,每个点的位置代表该类别的数据值。
阅读全文