У меня есть следующий отрывок из графика networkx:
Следующие функции были выполнены для изучения структуры связанных компонентов, так как у меня разреженная сеть с множеством особых соединений:
nx.number_connected_components(G)
>>> 702
list(nx.connected_components(G))
>>> [{120930, 172034},
{118787, 173867, 176202},
{50376, 151561},
...]
Вопрос: Как я могу ограничить визуализацию всего моего графа подключенными_компонентами с узлами равно или больше трех?





Мы можем создать подграф, содержащий компоненты с равным или более чем тремя узлами:
s = G.subgraph(
set.union(
*filter(lambda x: len(x) >= 3, nx.connected_components(G))
)
)
Теперь вам просто нужно визуализировать этот подграф s.
Возможно, нам потребуется сделать копию вместо представления SubGraph, в этом случае s = s.copy() сделает копию из подграфа.
graphs = list(nx.connected_component_subgraphs(G))
list_subgraphs=[items for i in graphs for items in i if len(i)>=3]
F=G.subgraph(list_subgraphs)
Скажем, создание плоского списка подграфов с компонентами, превышающими 3 узла!