基于边的图论距离度量和其他度量 attributes/weight
Graph theory distance measures and other metrics based on edge attributes/weight
我正在构建一个以城市为节点的图表,边是连接这些节点的主要高速公路。
我的边属性是高速公路的长度和估计从起点到终点节点所需的时间。
NetworkX 具有计算距离度量的算法,例如直径(距离最远的节点之间的最短路径)、偏心率(从一个节点到所有其他节点的最大距离)和半径(整个网络的最大偏心率)。
是否可以使用我上传到我的网络的边缘属性(例如以英里为单位的距离和以分钟为单位的时间)来计算这些指标?
您可以计算图中所有最短加权路径的矩阵:
shortest1 = shortest_path_length(G, weight="distance")
您现在可以使用以下方法计算图形的偏心率:
ecc = eccentricity(G, sp=shortest2)
最后可以用偏心率计算直径等:
diam = diameter(G, e=ecc)
请注意,shortest_path_length
返回的最短路径和 eccentricity
期望的最短路径具有不同的结构((节点,字典)元组列表与字典字典)。您可以使用 shortest2 = dict(shortest1)
.
将一个转换为另一个
我正在构建一个以城市为节点的图表,边是连接这些节点的主要高速公路。
我的边属性是高速公路的长度和估计从起点到终点节点所需的时间。
NetworkX 具有计算距离度量的算法,例如直径(距离最远的节点之间的最短路径)、偏心率(从一个节点到所有其他节点的最大距离)和半径(整个网络的最大偏心率)。
是否可以使用我上传到我的网络的边缘属性(例如以英里为单位的距离和以分钟为单位的时间)来计算这些指标?
您可以计算图中所有最短加权路径的矩阵:
shortest1 = shortest_path_length(G, weight="distance")
您现在可以使用以下方法计算图形的偏心率:
ecc = eccentricity(G, sp=shortest2)
最后可以用偏心率计算直径等:
diam = diameter(G, e=ecc)
请注意,shortest_path_length
返回的最短路径和 eccentricity
期望的最短路径具有不同的结构((节点,字典)元组列表与字典字典)。您可以使用 shortest2 = dict(shortest1)
.