Автоматически соединить все узлы со всеми остальными узлами в сети x - PullRequest
0 голосов
/ 04 ноября 2018

Предполагая, что я создал MultiDiGraph в networkx следующим образом:

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

Таким образом, полученный график может выглядеть следующим образом:

image

Есть ли способ теперь соединить все узлы со всеми остальными узлами (кроме само-ребер) без указания каждого целевого и исходного узла вручную?

Мне известна функция nx.complete_graph(), но мне интересно, есть ли способ сначала создать узлы, а затем назначить соединения автоматически.

1 Ответ

0 голосов
/ 04 ноября 2018

Если я правильно понимаю:

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

...