1

我需要绘制一个带有重复边的图(即,2 个节点之间有多个边)。我试过:

import networkx as nx
edges = [(0, 1), (0, 1)]

G = nx.DiGraph ()
G.add_edges_from (edges)

print G.edges ()
#[(0, 1)]

重复的条目被简单地丢弃。有没有办法做到这一点?

4

1 回答 1

6

我不是这方面的专家,networkx但是根据这里的文档:

Multigraphs NetworkX 提供了允许任意一对节点之间存在多条边的图类。MultiGraph 和 MultiDiGraph 类允许您添加相同的边两次,可能使用不同的边数据。这对于某些应用程序来说可能很强大,但许多算法在此类图上没有很好地定义。最短路径就是一个例子。在结果定义明确的地方,例如 MultiGraph.degree() 我们提供了函数。否则,您应该以使测量明确定义的方式转换为标准图表。

因此,如果进行了一项更改,该示例应该可以工作 - 创建G如下:

G = nx.MultiGraph()
于 2013-05-30T06:19:56.890 回答