# 这三行代码使编译器支持绘图功能:
import sys
import matplotlib
matplotlib.use('Agg')
import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
# 定义样本数据点坐标:
x = [4, 5, 10, 4, 3, 11, 14, 6, 10, 12]
y = [21, 19, 24, 17, 16, 25, 24, 22, 21, 21]
# 组合数据点:
data = list(zip(x, y))
# 计算层次聚类链接矩阵(使用 ward 方法和欧式距离):
linkage_data = linkage(
data,
method='ward', # 聚类合并方法
metric='euclidean' # 距离度量标准
)
# 绘制树状图:
dendrogram(linkage_data)
# 显示图形:
plt.show()
# 这两行代码使编译器能够输出图形:
plt.savefig(sys.stdout.buffer)
sys.stdout.flush()