networkx中的draw_networkx()
我在使用networkx的时候遇到了这个错误
networkx.draw_networkx(G,ax = self.axes)
TypeError: draw_networkx() takes at least 2 non-keyword arguments (1 given)
相关的代码是
G=networkx.Graph()
G.add_node("spam")
G.add_edge(1,2)
networkx.draw_networkx(G,ax = self.axes)
有人能解释一下我哪里做错了吗?我该怎么修正这个问题…… 这个函数的链接是 draw_networkx。
谢谢
2 个回答
2
samplebias 给了一个很好的例子。
如果你想要一个更简单的方法来进行命令行分析或者随便玩玩:
networkx.draw_spring(G)
这是一个内置的方法,可以根据弹簧的重量来绘图,并且会考虑这些重量,所以你可以加入一些东西,比如:
G=networkx.Graph()
G.add_node("spam")
G.add_edge(1,2,weight=4.7)
G.add_edge(1,"spam")
而且由于弹簧的重量,1-2 之间的连接会比 1-spam 之间的连接短。这种方法非常快速和简单。
7
这里提到的 pos
参数是用来告诉绘图程序如何放置节点的位置的。下面是一个使用弹簧布局来填充 pos
的方法:
networkx.draw_networkx(G, pos=networkx.spring_layout(G), ax=self.axes)
输出结果: