Visualizzare la connettività
Qui visualizzerai come cambia nel tempo la connettività dei nodi più connessi. L’elenco dei valori più connessi, top_connected, dall’esercizio precedente è già stato caricato.
Ricordi il defaultdict che hai usato nel Capitolo 1? Userai un altro defaultdict anche in questo esercizio! Come Eric ha menzionato nel video, qui si preferisce un defaultdict perché un normale dizionario di Python genererebbe un KeyError se provi a recuperare un elemento con una chiave non presente nel dizionario.
Questo esercizio utilizzerà cicli for annidati. In altre parole, userai un ciclo for dentro un altro.
Questo esercizio fa parte del corso
Analisi di reti intermedia in Python
Istruzioni dell'esercizio
- Inizializza un
defaultdictdi liste vuote chiamatoconnectivity. - Itera su
top_connectedusando un ciclofore, nel corpo di questo ciclo esterno, itera nuovamente suGs. All’interno di questo ciclo annidato:- Le chiavi di
connectivitydevono essere i nodinintop_connectede i valori devono essere l’elenco dei punteggi di connettività. Quindi, devi aggiungerelen(list(G.neighbors(n)))aconnectivity[n].
- Le chiavi di
- Itera su
connectivityusando.items()e traccia la connettività di ciascun nodo passandoconnaplt.plot().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()