Harry Potter und die Netzwerkanalyse in Python: Alle Bände!

Als Ergänzung zum letzten Artikel zu Harry Potter habe für diesen Beitrag alle sieben Bände als Graphen visualisiert.

Im letzten Beitrag zu Netzwerkanalyse habe ich dir gezeigt, wie du anhand eines Buchtextes und einer Liste von Charakteren ein soziales Netzwerk visualisieren kannst. Der Graph zeigt dir dann, welche Figuren inhaltlich besonders viel miteinander zu tun haben und welche Figuren eher parallel zueinander existieren. Die Visualisierung mittels eines Graphen lässt sich natürlich nicht nur auf Literatur, sondern auf jede beliebige Art von Netzwerk anwenden (Twitter-Follower, Facebookfreunde, Bahnnetze…).

In diesem Beitrag siehst du für jeden der sieben Bände ein eigenes Netzwerkdiagramm. Zur Erinnerung: In unserem Beispiel gibt es zwischen zwei Figuren nur eine Beziehung, wenn beide in einem Abstand von maximal 50 Wörtern zueinander genannt werden. Deshalb hat auch Harry Potter in den Grafiken nicht zu jedem anderen Charakter eine Verbindung – obwohl er die Hauptfigur ist.

Band 1 – Harry Potter und der Stein der Weisen

Band 2 – Harry Potter und die Kammer des Schreckens

Band 3 – Harry Potter und der Gefangene von Askaban

Band 4 – Harry Potter und der Feuerkelch

Band 5 – Harry Potter und der Orden des Phönix

Band 6 – Harry Potter und der Halbblutprinz

Band 7 – Harry Potter und die Heiligtümer des Todes

Alle Bände zusammen

 

(Klicken für Vollbild)

5 Gedanken zu „Harry Potter und die Netzwerkanalyse in Python: Alle Bände!

  • 24. August 2020 um 10:39
    Permalink

    Hi, danke für die coolen Denkanstöße!
    Deine Beispiele sind gut nachvollziehbar.

    Wie hast Du in diesen Beispiel die Darstellung so hinbekommen?

    Liebe Grüsse
    Jupy

    Antwort
    • 24. August 2020 um 13:33
      Permalink

      Hi Jupy,

      freut mich, dass dir der Artikel gefallen hat.
      Den Code kannst du Zeile für Zeile im Beitrag davor nachlesen.
      Hilft dir das?

      Viele Grüße
      Chris

      Antwort
      • 25. August 2020 um 11:03
        Permalink

        Hi Chris,
        danke für die Antwort. Hier ich meine die Anordnung der Knoten im Plot.

        Viele Grüße
        Jupy

        Antwort
  • 7. Juni 2023 um 13:49
    Permalink

    @Jupy

    You can set the positions of the nodes to show a circle layout:
    I hope this is what you wanted.

    G.add_edges_from(edges)

    number_of_nodes = G.number_of_nodes()

    weights_nodes = weights[:number_of_nodes]

    # Set the positions of the nodes in a circle layout
    pos = nx.circular_layout(G)

    nx.draw(
    G,
    pos,
    width=[(weight / 8) ** 0.5 for weight in weights],
    with_labels=True,
    edge_color=“lightgrey“,
    node_size=[(weight * 15000) ** 0.5 for weight in weights_nodes],
    node_color=“red“,
    node_shape=“o“,
    font_size=10,
    font_color=“black“,
    alpha=0.9,
    )

    plt.show

    Antwort
  • 7. Juni 2023 um 14:00
    Permalink

    @Jupy

    to get a similar layout you might also have to change the figure size.

    This is how I did it with a different book as a text source:

    plt.figure(figsize=(15, 10))
    nx.draw(….
    )

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.