2012-05-21 4 views

ответ

5

Если я прав, вы хотите указать, какой атрибут края использовать в качестве веса кромки для макета graphviz. Из NetworkX docs я не вижу, что это возможно.

Однако атрибут weight используется алгоритмами компоновки в graphviz. Это то, что он говорит:

weight

Вес края. Точнее, чем тяжелее вес, тем короче, прямее и вертикальнее край. Для других макетов больший вес поощряет макет, чтобы сделать длину края ближе к заданной атрибутом 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 

Если вы хотите установить defau lt для краев, вы можете передать это как argument to the graphviz program, который вы хотите использовать в graphviz_layout:

nx.graphviz_layout(g, prog='dot', args='-Eweight=4')