2017-04-18 58 views
0

私は3000ノードのグラフを持っています。私はちょうど罰金neteorkx docgraphvizを使ってnetworkxでグラフ座標(レイアウト)を取得する方法は?

G_tst = nx.complete_graph(4) 
pos = nx.nx_pydot.pydot_layout(G_tst) 
pos = nx.nx_pydot.pydot_layout(G_tst , prog='dot') 

作品からデフォルトnetworkxレイアウトlayout = nx.fruchterman_reingold_layout(G)

例よりも気持ちの良いレイアウトを見つけるために、PYDOTレイアウトエンジンを使用しようとしています。しかし、私自身のグラフを使用するとき pos = nx.nx_pydot.pydot_layout(G)私はType Errorを得て、Gはアトリビュートがnameであると主張しています。ここで

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-72-1326868cc786> in <module>() 
     1 
----> 2 pos = nx.nx_pydot.pydot_layout(G) 
     3 nx.draw(G, pos=pos) 

C:\Anaconda3\lib\site-packages\networkx\drawing\nx_pydot.py in pydot_layout(G, prog, root, **kwds) 
    261  """ 
    262  import pydotplus 
--> 263  P=to_pydot(G) 
    264  if root is not None : 
    265   P.set("root",make_str(root)) 

C:\Anaconda3\lib\site-packages\networkx\drawing\nx_pydot.py in to_pydot(N, strict) 
    200  for n,nodedata in N.nodes_iter(data=True): 
    201   str_nodedata=dict((k,make_str(v)) for k,v in nodedata.items()) 
--> 202   p=pydotplus.Node(make_str(n),**str_nodedata) 
    203   P.add_node(p) 
    204 

TypeError: __init__() got multiple values for argument 'name' 

は、私が持っているんですnode attributes

`G.add_node(G.number_of_nodes(), 
      name=endNode.endWord, # string 
      teaching_text=endNode.tt_corpus, # string 
      definition=endNode.domainDef, # string 
      search_string=endNode.searchKey_obj.search_key_str, 
      name_len = len(endNode.endWord))` #int 

答えて

1

私は昨日と同じエラーを得ました。私は100%確信していませんが、あなたの属性 "名前"と内部変数が矛盾しているようです。私の場合、私はそれを "name_"に変更します。

関連する問題