如果我没猜错的话,您想要指定哪个边缘属性用作 graphviz 布局的边缘权重。来自NetworkX 文档 http://networkx.lanl.gov/reference/generated/networkx.drawing.nx_agraph.graphviz_layout.html?#graphviz-layout我不认为这是可能的。
但是,那weight
属性由 graphviz 中的布局算法使用。它是这么说的:
weight http://www.graphviz.org/doc/info/attrs.html#d%3aweight
边缘重量。以点计,重量越重,边缘越短、越直、越垂直。对于其他布局,较大的权重会鼓励布局使边长更接近由len http://www.graphviz.org/doc/info/attrs.html#d%3alen属性。
有了这个你可以设置边缘权重 http://networkx.lanl.gov/tutorial/tutorial.html#edge-attributes对于网络中的每条边:
g = nx.Graph()
g.add_edge(1, 2, {'weight': 4})
or
g.add_edge(1, 2)
g.edge[1][2]['weight'] = 4
or
g[1][2]['weight'] = 4
如果您想为边缘设置默认权重,可以将其作为graphviz 程序的参数 http://www.graphviz.org/content/command-line-invocation你想用在graphviz_layout
:
nx.graphviz_layout(g, prog='dot', args='-Eweight=4')