通过k-means方法得到一个5*5的聚类中心数组,使用python绘制雷达图可视化显示
时间: 2024-03-10 13:50:22 浏览: 69
首先,需要安装matplotlib库和numpy库。然后,可以按照以下步骤绘制雷达图:
1. 定义一个函数,用于绘制雷达图:
```python
import matplotlib.pyplot as plt
import numpy as np
def radar_plot(data, centers):
N = len(data)
angles = np.linspace(0, 2*np.pi, N, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
for i in range(len(centers)):
values = data[i]
values = np.concatenate((values, [values[0]]))
ax.plot(angles, values, linewidth=1, linestyle='solid', label=f'Cluster {i+1}')
for i in range(len(centers)):
values = centers[i]
values = np.concatenate((values, [values[0]]))
ax.plot(angles, values, linewidth=2, linestyle='solid', label=f'Center {i+1}')
ax.set_thetagrids(angles * 180/np.pi, labels=None)
ax.grid(True)
ax.legend(loc='upper right')
return fig
```
2. 生成测试数据和聚类中心:
```python
# 生成测试数据
data = np.random.rand(5, 5)
# 生成聚类中心
k = 5
centers = np.random.rand(k, 5)
```
3. 调用函数绘制雷达图:
```python
radar_plot(data, centers)
plt.show()
```
这样就可以绘制出雷达图可视化显示了。
阅读全文