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
Oefeninstructies
- Initialiseer een
defaultdictmet lege lijsten, genaamdconnectivity. - Itereer met een
for-lus overtop_connecteden, in de body van deze buitenstefor-lus, iterer je opnieuw overGs. In deze geneste lus:- De sleutels van
connectivitymoeten de nodesnintop_connectedzijn, en de waarden moeten de lijst met connectiviteitsscores zijn. Voeg daaromlen(list(G.neighbors(n)))toe aanconnectivity[n].
- De sleutels van
- Itereer over
connectivitymet.items()en plot de connectiviteit van elke node doorconndoor te geven aanplt.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()