我需要绘制一个带有重复边的图(即,2 个节点之间有多个边)。我试过:
import networkx as nx
edges = [(0, 1), (0, 1)]
G = nx.DiGraph ()
G.add_edges_from (edges)
print G.edges ()
#[(0, 1)]
重复的条目被简单地丢弃。有没有办法做到这一点?
我不是这方面的专家,networkx
但是根据这里的文档:
Multigraphs NetworkX 提供了允许任意一对节点之间存在多条边的图类。MultiGraph 和 MultiDiGraph 类允许您添加相同的边两次,可能使用不同的边数据。这对于某些应用程序来说可能很强大,但许多算法在此类图上没有很好地定义。最短路径就是一个例子。在结果定义明确的地方,例如 MultiGraph.degree() 我们提供了函数。否则,您应该以使测量明确定义的方式转换为标准图表。
因此,如果进行了一项更改,该示例应该可以工作 - 创建G
如下:
G = nx.MultiGraph()