当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX voronoi_cells用法及代码示例


本文简要介绍 networkx.algorithms.voronoi.voronoi_cells 的用法。

用法:

voronoi_cells(G, center_nodes, weight='weight')

返回相对于最短路径距离度量以 center_nodes 为中心的 Voronoi 单元格。

如果 C 是图中的一组节点,并且 cC 的元素,则以节点 c 为中心的 Voronoi cell 是更接近的所有节点 v 的集合就最短路径距离度量而言,c 优于 C 中的任何其他中心节点。 [1]

对于有向图,这将计算 “outward” Voronoi 单元格,如 [1] 中定义,其中测量从中心节点到目标节点的距离。对于 “inward” Voronoi 单元,在有向图上调用此函数之前,请使用 DiGraph.reverse() 方法反转边的方向。

参数

GNetworkX 图
center_nodesset

G 中的一组非空节点表示 Voronoi 单元格的中心。

weight字符串或函数

表示边权重的边属性(或任意函数)。例如,此关键字参数如 multi_source_dijkstra_path() 的文档中所述。

返回

字典

从中心节点到图中所有节点集合的映射,它比任何其他中心节点更靠近该中心节点。字典的键是 center_nodes 的元素,字典的值形成 G 的节点的分区。

抛出

ValueError

如果center_nodes 为空。

参考

1(1,2)

Erwig, Martin. (2000), “The graph Voronoi diagram with applications.” Networks, 36: 156-163. <dx.doi.org/10.1002/1097-0037(200010)36:3<156::AID-NET2>3.0.CO;2-L>

例子

要仅获取由 Voronoi 单元格引起的图形分区,请获取返回字典中所有值的集合:

>>> G = nx.path_graph(6)
>>> center_nodes = {0, 3}
>>> cells = nx.voronoi_cells(G, center_nodes)
>>> partition = set(map(frozenset, cells.values()))
>>> sorted(map(sorted, partition))
[[0, 1], [2, 3, 4, 5]]

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.voronoi.voronoi_cells。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。