我试图更改Scipy dendrogram绘图函数中叶节点的顺序。考虑以下片段:
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt
dists = [ 2., 10., 3.]
lx = linkage(dists, 'complete')
dendrogram(lx)
plt.show()
结果图为树状图:
我想将这个图中叶节点的顺序改为0, 1, 2
。有没有一个简单的方法来实现这一点?在
我尝试了count_sort
和distance_sort
参数的所有可能设置,但顺序保持不变。在
我不认为这是可能的。
count_sort
和distance_sort
选项仅适用于子代节点。想象一下你的例子,标签1和标签2是交换的。在这种情况下,不可能按顺序排列节点,因为节点1需要在成对节点0和1之间强制执行。这表明,对所有节点排序的任何过程都是不可伸缩的。
以下注释出现在source code of the dendrogram scipy method中:
所以这是一个相关的问题。您可以联系Scipy开发人员(SciPy Project Mailing Lists)来表达您对这个增强的兴趣,这样他们就会意识到它是有用的,并给予它更高的优先级。
相关问题 更多 >
编程相关推荐