overlap

決定是否以及如何移除節點重疊

類型:字串 | 布林值,預設值:true

首先使用 sep 屬性放大節點。如果為 true,則保留重疊。如果值為 "scale",則通過在 x 和 y 方向上均勻縮放來移除重疊。如果值轉換為 "false" 且可用,則使用基於鄰近圖的演算法 Prism 來移除節點重疊。也可以使用 overlap=prism 明確調用此方法。此技術從小的縮放開始,由 overlap_scaling 屬性控制,這可以消除大部分重疊。 prism 選項還接受可選的非負整數後綴。這可用於控制移除重疊的嘗試次數。預設情況下,overlap="prism" 等效於 overlap="prism1000"。設定 overlap="prism0" 會導致僅執行縮放階段。

如果 Prism 不可用,或 Graphviz 版本早於 2.28,則 "overlap=false" 使用基於 Voronoi 的技術。始終可以使用 "overlap=voronoi" 明確調用此技術。

如果 overlap="scalexy",則分別縮放 x 和 y 以移除重疊。

如果 overlap="compress",則佈局將盡可能縮小,而不會引入任何重疊,顯然假設一開始沒有重疊。

注意: overlap 的其餘允許值對應於目前可能產生不良長寬比的演算法。此外,我們不建議使用 "ortho*""portho*"

如果值為 "vpsc",則執行重疊移除,作為二次最佳化,以最小化節點位移,同時移除節點重疊。

如果值為 "orthoxy""orthoyx",則通過最佳化兩個約束問題(一個用於 x 軸,另一個用於 y 軸)來移動重疊。後綴表示首先處理哪個軸。如果值為 "ortho",則該技術與 "orthoxy" 類似,只是使用啟發式方法來減少兩次傳遞之間的偏差。如果值為 "ortho_yx",則該技術與 "ortho" 相同,只是 x 和 y 的角色反轉。值 "portho""porthoxy""porthoxy""portho_yx" 與前四個相似,只是僅強制執行偽正交排序。

如果佈局由 neato 使用 mode="ipsep" 完成,則可以使用 overlap=ipsep。在這種情況下,重疊移除約束將納入佈局演算法本身。注意:目前,這僅支援一層叢集。

除了 fdpsfdp 之外,佈局預設為 overlap="true"。 Fdp 首先使用多個傳遞來嘗試使用內建的力導向技術來移除重疊。因此,fdp 接受帶有整數前綴後跟冒號的 overlap,指定嘗試次數。如果沒有前綴,則不會執行任何初始嘗試。如果冒號後沒有任何內容,則不會嘗試上述任何方法。預設情況下,fdp 使用 overlap="9:prism"。請注意,overlap="true"overlap="0:true"overlap="0:" 都會關閉所有重疊移除。

預設情況下,sfdp 使用 overlap="prism0"

除了 Voronoi 和 prism 方法之外,所有這些轉換都會保留原始佈局的正交順序。也就是說,如果兩個節點的 x 坐標最初相同,它們將保持相同,並且如果一個節點的 x 坐標最初小於另一個節點的 x 坐標,則此關係在轉換後的佈局中仍然成立。y 坐標也具有類似的屬性。對於 "porth*" 情況,這並不完全正確。對於這些情況,僅在邊緣相關的節點之間保留正交順序。

適用於
  • 圖形

注意:僅限 fdpneatosfdpcircotwopi

在 Graphviz 程式碼庫中搜尋 "overlap"

上次修改時間:2024 年 7 月 28 日:將所有 Hugo 'ref' 替換為 'relref' (bbef86a)