Есть ли способ найти центр графика в Neo4j или NetworkX? - PullRequest
1 голос
/ 12 февраля 2020

Я новичок в теории графов. В настоящее время я работаю с Neo4j, и мне нужно найти центральные узлы в подграфе для анализа. Есть ли способ найти центральные узлы в Neo4j или NetworkX?

1 Ответ

1 голос
/ 13 февраля 2020

Это можно сделать в NetworkX, используя networkx.algorithms.distance_measure.center(), который возвращает список центральных узлов на графике. Ниже приведен пример, который отображает центральные узлы красным цветом.

Пример кода:

import networkx as nx
from networkx.algorithms.distance_measures import center

# Set up graph
G = nx.barbell_graph(5, 5)

# Get position using spring layout
pos = nx.spring_layout(G)

# Get center node(s)
c = center(G)

# Draw non-central nodes & all edges
nx.draw_networkx_nodes(G, pos, nodelist=set(G.nodes)-set(c))
nx.draw_networkx_edges(G, pos)

# Draw central nodes in red
nx.draw_networkx_nodes(G, pos, nodelist=c, node_color='r')

# Draw labels
nx.draw_networkx_labels(G, pos)

Вывод:

G = nx.barbell_graph(5, 5)

enter image description here

G = nx.complete_graph(6)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...