我试图表现和遍历图表,以显示和控制家庭关系。我已经能够建立的边,以作出以下的图(How to draw a tree more beautifully in networkx加上无数其他人已经让我这么远-我的红色数字,当然)
因此,我理解这是一个有向图,上面显示了父关系。我希望能够使用networkx获得更多的信息,但我还没有想出如何接近它。如果人们有这样的文档/教程,我甚至会选择一些好的文档/教程,但我正在尝试解决以下问题:
,
发布于 2022-08-08 10:59:44
W.r.t.2):拓扑排序总是将一个节点放在最高的可能层中,这就是为什么在您的情况下,节点4被放置在顶层(想必)。相反,您可以将y值从点布局映射到一个层。如果这对您来说太麻烦了,您可以显式地计算分层布局。这两种方法都概述了here。
W.r.t.1)您似乎完全基于父子关系来定义“家庭”,所以您所需要做的就是计算每个节点的前辈,然后进行聚合。与…有关的东西:
families = dict() # maps parents to children
for child in G:
parents = tuple([predecessor for predecessor, target in nx.predecessor(G, child, cutoff=1).items() if target != []])
if parents in families:
families[parents].append(child)
else:
families[parents] = [child]
https://stackoverflow.com/questions/73275385
复制相似问题