Draw_networkx () in NetworkX
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
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:
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.