0

尝试 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

谢谢

4

2 回答 2

7

它期待pos参数,以告知绘图例程如何定位节点。以下是使用弹簧布局填充的方法pos

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

输出:

在此处输入图像描述

于 2011-04-30T18:53:41.577 回答
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 连接短。非常快速和容易。

于 2012-05-26T17:38:41.817 回答