Frage

Ich erhalte diesen Fehler beim Versuch von NetworkX

networkx.draw_networkx(G,ax = self.axes)
TypeError: draw_networkx() takes at least 2 non-keyword arguments (1 given)

Der Code für denselben ist

G=networkx.Graph()
G.add_node("spam")
G.add_edge(1,2)
networkx.draw_networkx(G,ax = self.axes)

Kann jemand erklären, was ich falsch mache und wie ich das korrigieren kann? Der Link für die Funktion ist Draw_networkx.

Vielen Dank

War es hilfreich?

Lösung

Es erwartet das pos Argument, um die Zeichnungsroutine zu informieren, wie die Knoten positioniert werden können. So können Sie ein Frühlingslayout verwenden, um zu füllen pos:

networkx.draw_networkx(G, pos=networkx.spring_layout(G), ax=self.axes)

Ausgabe:

enter image description here

Andere Tipps

SampleBias gab ein großartiges Beispiel.

Wenn Sie eine noch einfachere Möglichkeit haben möchten, dies für die Befehlszeilenanalyse oder das Durcheinander zu tun:

networkx.draw_spring(G)

Es ist eine eingebaute Methode zum Zeichnen basierend auf Frühlingsgewichten und Ehrgewichten, sodass Sie Dinge wie folgt einfügen können:

G=networkx.Graph()
G.add_node("spam")
G.add_edge(1,2,weight=4.7)
G.add_edge(1,"spam")

Und die 1-2-Verbindung ist aufgrund der Federgewichtung kürzer als die 1-Spam-Verbindung. Sehr schnell und einfach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top