我有一种感觉,这是一个非常简单的问题,但我无法弄清楚。
我有一小部分轨迹,我正在尝试使用 scipi hcluster 对其进行聚类。
我在这方面取得了成功
from hcluster import linkage, dendrogram
l = linkage(matrix)
d = dendrogram(l)
show()
但是我无法弄清楚如何将树状图分配的颜色映射回原始轨迹。树状图具有以下键 ['ivl', 'dcoord', 'leaves', 'color_list', 'icoord']。根据文档,'ivl' 是打印在图底部的一组标签,由于字体很小,这些标签无法阅读。
我试过以下
for index, label in enumerate(d['ivl']):
print 'trajectory #%s has color %s' % (label, d['color_list'][index])
然而,这会爆炸,因为 color_list 中的颜色比 ivl 中的标签少一种。当我查看树状图时,我可以清楚地看到 2 个绿色、2 个红色、3 个洋红色等。但是树状图告诉我其他情况
from collections import Counter
Counter(d['color_list'])
Counter({'y': 68, 'b': 18, 'm': 2, 'c': 1, 'g': 1, 'r': 1})
所以最后我的问题。这个可怕的结构是什么?我如何真正获得树状图分配给每个轨迹的颜色?