Wizualizacja połączeń
W tym ćwiczeniu zwizualizujesz, jak zmienia się liczba połączeń najlepiej połączonych węzłów w czasie. Lista najlepiej połączonych wartości, top_connected, z poprzedniego ćwiczenia została już wczytana.
Pamietasz defaultdict z rozdziału 1? Użyjesz go ponownie w tym ćwiczeniu! Jak wspomniał Eric w filmie, defaultdict jest tu lepszym wyborem niż zwykły słownik Pythona – ten drugi zgłosiłby KeyError, gdybyś próbował pobrać element o kluczu, którego jeszcze nie ma w słowniku.
To ćwiczenie korzysta z zagnieżdżonych pętli for, czyli jednej pętli for umieszczonej wewnątrz drugiej.
To ćwiczenie jest częścią kursu
Analiza sieci w Pythonie – poziom średniozaawansowany
Instrukcje do ćwiczenia
- Zainicjuj
defaultdictpustych list o nazwieconnectivity. - Iteruj po
top_connectedza pomocą pętlifor, a w ciele tej zewnętrznej pętli ponownie iteruj poGs. Wewnątrz tej zagnieżdżonej pętli:- Kluczami słownika
connectivitypowinny być węzłynztop_connected, a wartościami – listy wyników połączeń. Dlatego dołączlen(list(G.neighbors(n)))doconnectivity[n].
- Kluczami słownika
- Iteruj po
connectivityza pomocą.items()i narysuj wykres połączeń każdego węzła, przekazującconndoplt.plot().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict
# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
for g in ____:
connectivity[____].____(len(____))
# Plot the connectivity for each node
fig = plt.figure()
for n, conn in ____:
plt.plot(____, label=n)
plt.legend()
plt.show()