自动将所有节点与networkx中的所有其他节点连接

时间:2018-11-04 09:13:25

标签: python networkx graph-theory

假设我在MultiDiGraph中创建了一个networkx,如下所示:

G = nx.MultiDiGraph()
for i in range(5):
   G.add_node(i, features=...)

所以结果图可能看起来像这样:

现在是否有一种方法可以将所有节点与所有其他节点(自身边缘除外)连接起来,而无需手动指定每个目标节点和源节点?

我知道函数nx.complete_graph(),但我想知道是否有一种方法可以首先创建节点,然后以自动方式分配连接。

1 个答案:

答案 0 :(得分:2)

如果我正确理解:

from itertools import product

G.add_edges_from((a,b) for a,b in product(range(5), range(5)) if a != b)

绘图

pos = nx.circular_layout(G)
nx.draw(G, pos, with_labels=True, arrows=True, node_size=700)

enter image description here