voronoi_cells#

voronoi_cells(G, center_nodes, weight='weight')[源代码]#

返回以 center_nodes 关于最短路径距离的度量。

如果 C 是图中的一组节点,并且 c 是一个元素, C ,即 沃罗诺伊细胞 以节点为中心 c 是所有节点的集合 v 更接近于 c 中的任何其他中心节点 C 相对于最短路径距离度量。 [1]

对于有向图,这将计算“向外”Voronoi单元,如中所定义 [1], 其中测量从中心节点到目标节点的距离。对于“向内”的Voronoi细胞,使用 DiGraph.reverse() 方法来反转边的方向,然后在有向图上调用此函数。

参数
G网络X图表
center_nodes设置

图中的一组非空节点 G 代表沃罗诺伊细胞的中心。

weight字符串或函数

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

返回
词典

从中心节点到图中所有节点集的映射,比任何其他中心节点更接近该中心节点。字典的键是 center_nodes ,字典的值构成 G .

加薪
ValueError

如果 center_nodes 是空的。

工具书类

1(1,2)

马丁,埃尔维格。(2000年),“图Voronoi图及其应用”。 网络 ,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]]