如何在python中的networkx中绘制具有重复边的图形

时间:2013-05-30 05:20:25

标签: python graph networkx

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

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

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

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

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

1 个答案:

答案 0 :(得分:6)

我不是networkx的专家,但根据文档here

  

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

因此,如果进行了一项更改,该示例应该有效 - 创建G,如下所示:

G = nx.MultiGraph()