Degree Centrality auf der Projektion plotten
Hier vergleichst du die Verteilungen der Degree Centrality für die folgenden Graphen: den ursprünglichen Graphen G, die Personen-Projektion peopleG und die Clubs-Projektion clubsG. So festigst du den Unterschied in der Berechnung der Degree-Centrality-Werte zwischen bipartiten und unipartiten Varianten dieser Metrik. Die Knotenmengen people und clubs sind für dich bereits geladen.
Erinnere dich aus dem Video: Die bipartiten Funktionen erwarten eine Menge von Knoten als Argument, geben aber trotzdem alle Degree-Centrality-Werte zurück. Denk auch daran, dass Degree-Centrality-Werte als Dictionaries gespeichert sind (Mapping von Knoten zu Wert).
Diese Übung ist Teil des Kurses
Fortgeschrittene Netzwerkanalyse in Python
Anleitung zur Übung
- Plotte die Verteilung der Degree Centrality des ursprünglichen Graphen
Gmit derdegree_centrality-Funktion aus dem Bipartite-Modul:nx.bipartite.degree_centrality(). Sie nimmt zwei Argumente: den GraphenGund eine der Knotenlisten (peopleoderclubs). - Plotte die Verteilung der Degree Centrality des Graphen
peopleGmit der normalen/nicht-bipartitendegree_centrality-Funktion aus NetworkX:nx.degree_centrality(). - Plotte die Verteilung der Degree Centrality des Graphen
clubsGmit der normalen/nicht-bipartitendegree_centrality-Funktion aus NetworkX:nx.degree_centrality().
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
import matplotlib.pyplot as plt
# Plot the degree centrality distribution of both node partitions from the original graph
plt.figure()
original_dc = ____
# Remember that you can directly plot dictionary values.
plt.hist(____, alpha=0.5)
plt.yscale('log')
plt.title('Bipartite degree centrality')
plt.show()
# Plot the degree centrality distribution of the peopleG graph
plt.figure()
people_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of people partition')
plt.show()
# Plot the degree centrality distribution of the clubsG graph
plt.figure()
clubs_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of clubs partition')
plt.show()