Wizualizacja przefiltrowanego grafu za pomocą nxviz
Teraz zwizualizujesz przefiltrowany graf za pomocą wykresu circos. To naturalne rozwiązanie dla tej wizualizacji – grupowanie i kolorowanie węzłów pozwala zobrazować podziały, a układ kołowy sprawia, że całość wygląda przejrzyście i estetycznie.
To ćwiczenie jest częścią kursu
Analiza sieci w Pythonie – poziom średniozaawansowany
Instrukcje do ćwiczenia
- Oblicz miary centralności stopnia dla każdego węzła, korzystając z modułu bipartite – na podstawie centralności stopnia w oryginalnym grafie.
- Użyj do tego funkcji
nx.bipartite.degree_centrality()z argumentamiGinodes=forum_nodes.
- Użyj do tego funkcji
- Utwórz nowy wykres
circos, w którym węzły są pokolorowane i pogrupowane (parametrynode_color_byigroup_by) według etykiety partycji ('bipartite'), a ich kolejność (parametrsort_by) wyznacza centralność stopnia ('dc'). Następnie wyświetl ten wykres.- Aby węzły były dobrze widoczne, dołączyliśmy argument
node_enc_kwargs={'radius': 10}.
- Aby węzły były dobrze widoczne, dołączyliśmy argument
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()