python树状图可视化_如何可视化(树状图)一个层次项目字典?

这是我第一次用Python从字典格式的分层数据中进行可视化。数据的最后一部分如下所示:d = {^2820: [^391, ^1024], ^2821: [^759, 'w', ^118, ^51], ^2822: [^291, 'o'], ^2823: [^25, ^64], ^2824: [^177, ^2459], ^2825: [^338, ^1946], ^2826: [^186, ^1511], ^2827: [^162, 'i']}

所以我在列表上有索引,引用字典的键(索引)。我想这可以作为可视化的基础结构,如果我错了,请纠正我。数据中的字符是“end nodes/leaves”,它不引用任何索引。

我发现NetworkX可能用于可视化,但我不知道从哪里开始使用它和我的数据。我希望事情能简单到:import networkx as nx

import matplotlib.pyplot as plt

d = {^2820: [^391, ^1024], ^2821: [^759, 'w', ^118, ^51], ^2822: [^291, 'o'], ^2823: [^25, ^64], ^2824: [^177, ^2459], ^2825: [^338, ^1946], ^2826: [^186, ^1511], ^2827: [^162, 'i']}

G = nx.Graph(d)

nx.draw(G)

plt.show()

我正在寻找层次树状图或某种聚类作为输出。很抱歉,现在我不确定什么是最好的可视化,可能类似于:

更新

使用NetworkX实际上非常简单。我正在提供其他简单的样本数据,并寻找一个答案,如果它可以可视化的树状图,而不是有线网络图?# original sequence: a,b,c,d,b,c,a,b,c,d,b,c

d = {^1: ['b', 'c'], ^2: ['a', ^1, 'd', ^1], 'S': [^2, ^2]}

G = nx.Graph(d)

nx.draw_spring(G, node_size=300, with_labels=True)

如我们所见,图显示的是简单的关系,但不是我愿意做的数据的层次和顺序。有向图给出了更多细节,但仍然无法从中构造原始序列:

对于树状图,显然需要根据第一个答案计算权值和端点节点。对于这种方法,数据结构可能是这样的:d = {'a': [], 'b': [], 'c': [], 'd': [], ^1: ['b', 'c'], ^2: ['a', ^1, 'd', ^1], 'S': [^2, ^2]}

你可能感兴趣的:(python树状图可视化)