當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。