首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从scipy.cluster.hierarchy.dendrogram上获得高度

从scipy.cluster.hierarchy.dendrogram上获得高度
EN

Stack Overflow用户
提问于 2021-07-11 14:30:11
回答 1查看 113关注 0票数 0

我需要从树状图中获得节点的高度,我的计划是使用dcoord/icoord,但物理上考虑的是结果图中的高度和相应的二维数组中的值。

根据this post的说法,dcoord和icoord反映了树中节点的坐标。在scipy.cluster.hierarchy.dendrogram documentation中,icoord/dcoord的含义相当模糊。所以我不能追溯到底发生了什么

将会非常感谢你的见解

代码语言:javascript
复制
import numpy as np
import pandas as pd
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt

data = [[24, 16], [13, 4], [24, 11], [34, 18], [41, 
6], [35, 13]]
frame = pd.DataFrame(np.array(data),
                     columns=["a", "b"],
                     index=["Atlanta", "Boston", "Chicago", "Dallas", "Denver", "Detroit"])

Z = hierarchy.linkage(frame, 'single')
plt.figure()
dn = hierarchy.dendrogram(Z, labels=frame.index)

高度大概是15,10,9,5,但是我想让python给我这个数组,而不是让我看它。

EN

回答 1

Stack Overflow用户

发布于 2021-07-11 15:13:31

您可以从dn['dcoord']中列表的第二个或第三个元素中提取该信息。

在这里,我已经运行了你的脚本。Y坐标取自dn['dcoord']中每个列表的索引1

代码语言:javascript
复制
In [190]: [y[1] for y in dn['dcoord']]
Out[190]: 
[5.0,
 5.0990195135927845,
 9.219544457292887,
 10.198039027185569,
 13.038404810405298]

正如我在评论中指出的那样,您可以看到这些数据被用来增强this answer中的树状图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68333763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档