Предположим, у меня есть функция euc_2d(graph, n1, n2)
, которая вычисляет эвклидовое расстояние между двумя узлами того же графа. Каждый узел имеет заданный pos=(x,y)
, который присваивается при создании графика.Networkx: Используйте общую функцию вычисления веса края
NetworkX предоставляет функцию для получения общего веса всех ребер графа, а именно: graph.size(weight='weight')
. Проблема с этим методом заключается в том, что он предполагает, что всякий раз, когда я добавляю ребро, я должен явно назначить соответствующий вес края, например, graph.add_edge(u,v,weight=?)
, используя, например, функцию лямбда.
Однако это очень неудобно (и многословно), так как я постоянно добавляю и удаляю ребра в графике все время.
Итак, есть ли способ pythonic, который я могу сказать NetworkX, чтобы прозрачно использовать euc_2d()
всякий раз, когда я спрашиваю общий вес графика?