Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Maksim NegreskuОтветов: 1

У меня возникли некоторые проблемы с визуализацией графика с использованием кругового макета.
Я использую 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)

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

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

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

pythonlayoutgraphnetworkx

Ответы

Ответ 1 · willcrack

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

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)

Результат

а>

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы