Построение изолированных узлов в NetworkX - PullRequest
0 голосов
/ 25 июня 2019
import networkx as nx
import numpy as np
from scipy.sparse import coo_matrix #coordinate sparse matrices

A = np.zeros([4,4])
A[0,1] = A[1,2] = 1
S = coo_matrix(A)
edges = np.r_[[S.row], [S.col]].T
G = nx.Graph()
G.add_edges_from(edges)
nx.draw(G)

Когда я запускаю этот скрипт, я получаю это:

3-node network

Но есть четыре узла.Как я могу показать изолированный четвертый узел?

1 Ответ

2 голосов
/ 25 июня 2019

Добавляя только ребра к графу, networkx не может узнать о дополнительных вершинах; все, что он делает, это добавляет вершины каждого ребра, которое вы предоставляете. Если вместо этого вы явно добавляете все вершины, тогда все готово:

G = nx.Graph()
G.add_nodes_from(range(len(A)))
G.add_edges_from(edges)
nx.draw(G)

enter image description here

...