Question

Je reçois cette erreur lorsque vous essayez NetworkX

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

Le code pour le même est

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

Quelqu'un peut-il expliquer ce que je fais mal et comment puis-je corriger .... Le lien pour la fonction est draw_networkx .

Merci

Était-ce utile?

La solution

Il attend l'argument pos, pour informer la routine de dessin comment positionner les nœuds. Voici comment vous pouvez utiliser une mise en page de printemps pour alimenter pos:

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

Sortie:

entrer image description ici

Autres conseils

samplebias a donné un excellent exemple.

Si vous voulez une analyse façon de le faire pour la ligne de commande encore plus simple ou déconner:

networkx.draw_spring(G)

Il est construit dans la méthode de dessin basé sur le poids de printemps et le poids des honneurs que vous pouvez inclure des choses comme:

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

Et la connexion 1-2 sera plus courte que la connexion 1-Spam en raison de la pondération du printemps. Très rapide et facile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top