Visualizar la conectividad
Aquí vas a visualizar cómo cambia con el tiempo la conectividad de los nodos más conectados. La lista de valores más conectados, top_connected, del ejercicio anterior ya se ha cargado.
¿Recuerdas el defaultdict que usaste en el Capítulo 1? ¡Vas a usar otro defaultdict en este ejercicio! Como mencionó Eric en el vídeo, aquí se prefiere un defaultdict porque un diccionario normal de Python lanzaría un KeyError si intentas obtener un elemento con una clave que no está en el diccionario.
Este ejercicio utiliza bucles for anidados. Es decir, usarás un bucle for dentro de otro.
Este ejercicio forma parte del curso
Análisis de redes intermedio en Python
Instrucciones del ejercicio
- Inicializa un
defaultdictde listas vacías llamadoconnectivity. - Recorre
top_connectedusando un buclefory, en el cuerpo de esteforexterno, recorre de nuevoGs. Dentro de este bucle anidado:- Las claves de
connectivitydeben ser los nodosnentop_connected, y los valores deben ser la lista de puntuaciones de conectividad. Por lo tanto, tienes que añadirlen(list(G.neighbors(n)))aconnectivity[n].
- Las claves de
- Recorre
connectivityusando.items()y representa la conectividad de cada nodo pasandoconnaplt.plot().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()