Aan de slagBegin gratis

Connectiviteit visualiseren

Hier ga je visualiseren hoe de connectiviteit van de best verbonden nodes in de tijd verandert. De lijst met hoogste connectiviteitswaarden, top_connected, uit de vorige oefening is al geladen.

Weet je de defaultdict uit hoofdstuk 1 nog? Je gebruikt in deze oefening weer een defaultdict! Zoals Eric in de video aangaf, heeft een defaultdict hier de voorkeur, omdat een gewone Python-dictionary een KeyError zou geven als je een item opvraagt met een sleutel die nog niet in de dictionary staat.

In deze oefening gebruik je geneste for-lussen. Je gebruikt dus een for-lus binnen een andere.

Deze oefening maakt deel uit van de cursus

Gemiddelde netwerkanalyse in Python

Bekijk cursus

Oefeninstructies

  • Initialiseer een defaultdict met lege lijsten, genaamd connectivity.
  • Itereer met een for-lus over top_connected en, in de body van deze buitenste for-lus, iterer je opnieuw over Gs. In deze geneste lus:
    • De sleutels van connectivity moeten de nodes n in top_connected zijn, en de waarden moeten de lijst met connectiviteitsscores zijn. Voeg daarom len(list(G.neighbors(n))) toe aan connectivity[n].
  • Itereer over connectivity met .items() en plot de connectiviteit van elke node door conn door te geven aan plt.plot().

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren