Vizualizarea conectivității
În acest exercițiu, vei vizualiza cum se schimbă conectivitatea nodurilor cel mai bine conectate de-a lungul timpului. Lista cu cele mai mari valori de conectivitate, top_connected, din exercițiul anterior a fost deja încărcată.
Îți amintești de defaultdict folosit în Capitolul 1? Îl vei folosi din nou aici! Așa cum a menționat Eric în videoclip, defaultdict este de preferat față de un dicționar Python obișnuit, deoarece acesta din urmă ar genera o eroare KeyError dacă încerci să accesezi o cheie care nu există încă în dicționar.
Acest exercițiu folosește bucle for imbricate – adică o buclă for în interiorul altei bucle for.
Acest exercițiu face parte din cursul
Analiză intermediară a rețelelor în Python
Instrucțiuni pentru exercițiu
- Inițializează un
defaultdictde liste goale numitconnectivity. - Iterează prin
top_connectedcu o buclăfor, iar în corpul acestei bucle exterioare, iterează din nou prinGs. În interiorul acestei bucle imbricate:- Cheile din
connectivitytrebuie să fie nodurilendintop_connected, iar valorile trebuie să fie lista scorurilor de conectivitate. Prin urmare, adaugălen(list(G.neighbors(n)))laconnectivity[n].
- Cheile din
- Iterează prin
connectivityfolosind.items()și reprezintă grafic conectivitatea fiecărui nod transmițândconncătreplt.plot().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()