import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy as np
np.random.seed(1117)
a = np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[100,])
b = np.random.multivariate_normal([0, 20], [[3, 1], [1, 4]], size=[50,])
X = np.concatenate((a, b),)
Z = linkage(X, 'ward')
plt.figure(figsize=(25, 10))
plt.title('иерархическая дендрограмма')
plt.xlabel('чето')
plt.ylabel('дистанция или че-ниб')
dendrogram(
Z,
leaf_rotation=90.,
leaf_font_size=8.,)
plt.show()
# если надо меньше, тогда можно truncate использовать
plt.title('усеченная')
plt.xlabel('чето')
plt.ylabel('дистанция или че-ниб')
dendrogram(
Z,
truncate_mode='lastp',
p=12,
show_leaf_counts=False,
leaf_rotation=90.,
leaf_font_size=12.,
show_contracted=True,
)
plt.show()