Визуализация отфильтрованного графа с помощью 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()