Konnektivität visualisieren
Hier visualisierst du, wie sich die Konnektivität der am besten vernetzten Knoten im Zeitverlauf verändert. Die Liste der Top-Konnektivitätswerte, top_connected, aus der vorherigen Übung wurde geladen.
Erinnerst du dich an das defaultdict aus Kapitel 1? In dieser Übung verwendest du wieder ein defaultdict! Wie Eric im Video erwähnt hat, ist ein defaultdict hier besser geeignet, weil ein normales Python-Wörterbuch einen KeyError auslöst, wenn du versuchst, ein Element mit einem Schlüssel abzurufen, der noch nicht im Wörterbuch vorhanden ist.
Diese Übung verwendet geschachtelte for-Schleifen. Das heißt, du nutzt eine for-Schleife innerhalb einer anderen.
Diese Übung ist Teil des Kurses
Fortgeschrittene Netzwerkanalyse in Python
Anleitung zur Übung
- Initialisiere ein
defaultdictleerer Listen mit dem Namenconnectivity. - Iteriere über
top_connectedmit einerfor-Schleife und iteriere im Rumpf dieser äußerenfor-Schleife erneut überGs. In dieser geschachtelten Schleife gilt:- Die Schlüssel von
connectivitysollen die Knotennintop_connectedsein, und die Werte die Liste der Konnektivitätswerte. Daher musst dulen(list(G.neighbors(n)))anconnectivity[n]anhängen.
- Die Schlüssel von
- Iteriere über
connectivitymit.items()und plotte die Konnektivität jedes Knotens, indem duconnanplt.plot()übergibst.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()