Visualisera konnektivitet
I den här övningen ska du visualisera hur konnektiviteten hos de mest uppkopplade noderna förändras över tid. Listan med de mest uppkopplade värdena, top_connected, från föregående övning är redan inläst.
Kommer du ihåg defaultdict från kapitel 1? Du använder en till här! Som Eric nämnde i videon är defaultdict att föredra framför en vanlig Python-ordbok, eftersom den senare ger ett KeyError om du försöker hämta ett värde med en nyckel som inte finns i ordboken.
Den här övningen använder nästlade for-loopar – det vill säga en for-loop inuti en annan.
Den här övningen är en del av kursen
Nätverksanalys i Python – fortsättningskurs
Övningsinstruktioner
- Initiera en
defaultdictmed tomma listor och kalla denconnectivity. - Iterera över
top_connectedmed enfor-loop och iterera i sin tur överGsi loopens kropp. Inuti den nästlade loopen:- Nycklarna i
connectivityska vara nodernanitop_connected, och värdena ska vara listor med konnektivitetsvärden. Lägg därför tilllen(list(G.neighbors(n)))iconnectivity[n]med.append().
- Nycklarna i
- Iterera över
connectivitymed.items()och rita konnektiviteten för varje nod genom att skicka inconntillplt.plot().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()