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