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
<Kurs>Fortgeschrittene Netzwerkanalyse in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()