gpt4 book ai didi

python - 多重图的线图

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:27 24 4
gpt4 key购买 nike

我有一个加权有向多重图,我想用它制作一个折线图。也就是说,如果原始多重图中的两条边之间存在具有公共(public)节点的有向路径,则用一个节点替换每条边并连接两个节点。然而,就我而言,我只说如果第二条边的权重大于第一条边,则两条边之间存在路径。

networkx中有一个基本线图算法的实现http://networkx.github.io/documentation/latest/reference/generated/networkx.generators.line.line_graph.html 。但是,这不支持多重图。

在networkx或igraph中是否有一个好的方法来做到这一点?

最佳答案

igraph 解决方案(尚未测试,因为我现在没有太多时间)- 假设权重存储在 weight 边缘属性中:

weights = g.es["weight"]
line_graph_edges = []
for v in xrange(g.vcount()):
incoming = g.incident(v, mode="in")
outgoing = g.incident(v, mode="out")
line_graph_edges.extend((e1, e2) for e1 in incoming for e2 in outgoing
if weights[e1] < weights[e2])
line_graph = Graph(g.ecount(), line_graph_edges)

关于python - 多重图的线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com