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]]