从 python 中的嵌套字典绘制树状图

Drawing a dendrogram from nested dictionaries in python

我在 python

中绘制树状图时遇到问题

我有以下数据:

[{
    "label": "11",
    "ro": 66.33,
    "content": [{
        "label": "10",
        "ro": 4.67,
        "content": [{
            "label": "8",
            "ro": 0.5,
            "content": [{"label": "4"},{"label": "5"}]
            },{
                "label": "3"
            }]
        },{
        "label": "9",
        "ro": 1.33,
        "content": [{
            "label": "7",
            "ro": 0.5,
            "content": [{"label": "1"},{"label": "2"}]
        },{
            "label": "6"
        }]
    }]
}]

这是相同的数据,但打印为一棵树:

        __11______
       /          \
    __9          __10
   /   \        /    \
  7     6      8      3
 / \          / \
1   2        4   5

我不知道如何从这个数据集中绘制下面的树状图,我很困惑。

谢谢!

我将数据表示更改为链接矩阵:

[
    [2,  1,  0.5,   0], 
    [5,  4,  0.5,   0], 
    [6,  7,  1.33,  0], 
    [3,  8,  4.66,  0], 
    [9,  10,  66.33, 0]
]

然后,我用dendrogram scipy function recommended by ImportanceOfBeingErnest画了它:

def draw(linkage_matrix):
    fig = plt.figure(figsize=(5, 5))
    dn = dendrogram(linkage_matrix)
    plt.show()

这是结果:

这是 hierarchical clustering solution