每个人都找不到如何在网络x中将权重列表的属性名称传递给graphviz_layout。像这样:
nx.spring_layout(G, weight='weight.sum')
但nx.graphviz_layout(G, ...)
。也许有人会知道?
答案 0 :(得分:5)
如果我找到了你,你想指定哪个边缘属性用作graphviz布局的边缘权重。从NetworkX docs我看不出这是可能的。
但是,weight
属性由graphviz中的布局算法使用。这就是它所说的:
边缘重量。在点中,重量越重,边缘越短,越直,越垂直。对于其他布局,较大的权重会鼓励布局使边长更接近len属性指定的边长。
使用此功能,您可以为网络中的每个边缘set the edge weight:
g = nx.Graph()
g.add_edge(1, 2, {'weight': 4})
或
g.add_edge(1, 2)
g.edge[1][2]['weight'] = 4
或
g[1][2]['weight'] = 4
如果要为边缘设置默认权重,可以将其作为graphviz_layout
中要使用的argument to the graphviz program传递:
nx.graphviz_layout(g, prog='dot', args='-Eweight=4')