用python画一个层次聚类树状图的示例
时间: 2023-11-08 08:06:02 浏览: 173
以下是一个使用Python绘制层次聚类树状图的示例代码:
```
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
# 生成模拟数据
import numpy as np
np.random.seed(4711)
a = np.random.normal(loc=1, scale=0.1, size=(100,50))
b = np.random.normal(loc=2, scale=0.1, size=(100,50))
c = np.random.normal(loc=3, scale=0.1, size=(100,50))
X = np.concatenate((a,b,c))
# 使用ward方法进行层次聚类
Z = linkage(X, 'ward')
# 绘制树状图
plt.figure(figsize=(25, 10))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('sample index')
plt.ylabel('distance')
dendrogram(Z, leaf_rotation=90., leaf_font_size=8.)
plt.show()
```
该示例使用了`scipy.cluster.hierarchy`库中的`linkage`函数进行层次聚类,并使用`matplotlib`库中的`dendrogram`函数绘制树状图。在本例中,我们生成了一些模拟数据,并使用`ward`方法进行层次聚类。最后,我们使用`plt.show()`函数显示图形。
阅读全文