Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjuj defaultdict pustych list o nazwie connectivity.
  • Iteruj po top_connected za pomocą pętli for, a w ciele tej zewnętrznej pętli ponownie iteruj po Gs. Wewnątrz tej zagnieżdżonej pętli:
    • Kluczami słownika connectivity powinny być węzły n z top_connected, a wartościami – listy wyników połączeń. Dlatego dołącz len(list(G.neighbors(n))) do connectivity[n].
  • Iteruj po connectivity za pomocą .items() i narysuj wykres połączeń każdego węzła, przekazując conn do plt.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()
Edytuj i uruchom kod