geometric_edges#

geometric_edges(G, radius, p=2, *, pos_name='pos')[source]#

返回节点对列表,这些节点对之间的距离在 radius 范围内。

Parameters:
Gnetworkx 图

用于生成边列表的图。 G 中的节点应具有一个名为 pos 的属性,对应于节点的位置,用于计算与其他节点的距离。

radius标量

距离阈值。如果两个节点之间的距离小于 radius ,则该边包含在边列表中。

pos_name字符串, 默认=”pos”

表示每个节点在二维坐标中位置的节点属性名称。图中的每个节点都必须具有此属性。

p标量, 默认=2

用于计算距离的 Minkowski 距离度量。默认值为 2,即欧几里得距离。

Returns:
edges列表

距离小于 radius 的边列表

Notes

半径使用 Minkowski 距离度量 p 。 如果 scipy 可用,则使用 scipy.spatial.cKDTree 加速计算。

Examples

创建一个具有 “pos” 属性的图,该属性表示节点的二维坐标。

>>> G = nx.Graph()
>>> G.add_nodes_from(
...     [
...         (0, {"pos": (0, 0)}),
...         (1, {"pos": (3, 0)}),
...         (2, {"pos": (8, 0)}),
...     ]
... )
>>> nx.geometric_edges(G, radius=1)
[]
>>> nx.geometric_edges(G, radius=4)
[(0, 1)]
>>> nx.geometric_edges(G, radius=6)
[(0, 1), (1, 2)]
>>> nx.geometric_edges(G, radius=9)
[(0, 1), (0, 2), (1, 2)]