НачатьНачать бесплатно

Визуализация отфильтрованного графа с помощью nxviz

В этом упражнении вы визуализируете отфильтрованный граф с помощью графика circos. Это естественный выбор для данной задачи: группировка и цветовая раскраска узлов позволяют наглядно отобразить разделение на части, а круговая компоновка сохраняет привлекательность визуализации.

Это упражнение является частью курса

Средний уровень сетевого анализа на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите значения центральности по степени для каждого узла с помощью центральностей по степени из модуля bipartite, но на основе центральности по степени в исходном графе.
    • Используйте функцию nx.bipartite.degree_centrality() с аргументами G и nodes=forum_nodes.
  • Создайте новый график circos, в котором узлы окрашены и сгруппированы (параметры node_color_by и group_by) по метке раздела ('bipartite'), а также упорядочены (параметр sort_by) по их центральности по степени ('dc'), и отобразите его.
    • Чтобы узлы были хорошо видны при отображении, мы добавили аргумент node_enc_kwargs={'radius': 10}.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import necessary modules
from nxviz import circos
import networkx as nx
import matplotlib.pyplot as plt

# Compute degree centrality scores of each node
dcs = ____(____, nodes=____)
for n, d in G_sub.nodes(data=True):
    G_sub.nodes[n]['dc'] = dcs[n]

# Create the circos plot: c
c = _____(___, _____, _____, _____, node_enc_kwargs={'radius': 5})

# Display the plot
plt.show() 
Редактировать и запускать код