通过scipy-cluster定制生成的树状图

3 投票
1 回答
2908 浏览
提问于 2025-04-16 14:34

这是对使用scipy-cluster生成的树状图不显示的后续讨论。

from matplotlib.pyplot import show
from scipy.spatial.distance import pdist
from scipy.cluster.hierarchy import linkage, dendrogram
from numpy.random import rand

X = rand( 5, 3 )
X[0:5, :] *= 2
Y = pdist( X )
Z = linkage( Y )
dendrogram( Z )
show()

dendrogram()返回一个字典,里面有ivl, leaves, color_list, icoord这些键,而pyplot正在使用这些数据时,我该如何在这些数据传给pyplot之前,修改标签和叶子的长度呢?

像这样做:

d=dendrogram( Z )
d['leaves']=['label1','label2','label3','label4','label5']

似乎没有什么效果。

叶子的长度应该是这样的:

1 个回答

3

根据dendrogram的说明文档,在调用这个功能的时候,你应该可以直接定义标签(可以通过labels或者leaf_label_func这两个参数来设置)。所以你不需要在之后再去修改标签。

撰写回答