Сетьx. Визуализация графика.Python.Круговая компоновка

У меня возникли некоторые проблемы с визуализацией графика с использованием кругового макета.
Я использую Python и Networkx 2.5v.
Но вот что я получил. Это выглядит так грязно. Как мне это сделать?

Мой код:

pos_fb = nx.circular_layout(fb)
fig = plt.figure(figsize=(10,10))
nx.draw_networkx(fb, pos_fb, center='array_like', **options)

Мой результат:

Круговая сеть


person Maksim Negresku    schedule 05.12.2020    source источник
comment
Вам нужно предоставить больше контекста. Считаете ли вы, что предоставили достаточно информации для того, чтобы кто-то адекватно помог вам? Кроме того, вместо того, чтобы делиться своим кодом в виде изображения, вставьте его в тело вопроса и используйте инструмент форматирования кода редактора.   -  person vasia    schedule 05.12.2020
comment
Насколько велик ваш график? Если он содержит тысячи узлов и ребер, результат должен выглядеть точно так же, как у вас.   -  person polina-c    schedule 06.12.2020


Ответы (1)


Чтобы улучшить свой рисунок, вы можете:

1. Используйте параметр node_size, чтобы уменьшить размер узлов, например:

nx.draw_networkx_nodes(G, pos, node_size=0.05)

2. Используйте параметры width и alpha, чтобы выделить наиболее подключенные узлы, например:

nx.draw_networkx_edges(G, pos, center="array_like", width=0.01, alpha=0.5)

Пример

Вот рисунок безмасштабной сети с 10 000 узлов с использованием модели Барабаси-Альберта и круговой схемы:

G = nx.barabasi_albert_graph(10000, 2, seed=1)
pos = nx.circular_layout(G)
fig = plt.figure(figsize=(10,10))
nx.draw_networkx_nodes(G, pos, node_size=0.05)
nx.draw_networkx_edges(G, pos, center="array_like", width=0.01, alpha=0.5)

Результат

Пример

Обратите внимание, что эти значения относятся к сетям с относительно большим количеством узлов.

person willcrack    schedule 05.12.2020
comment
Скажите, если вам нужна дополнительная помощь - person willcrack; 11.12.2020