G6 3.7.0 深耕分析、優雅出擊

發佈稿 - G6.jpg

想要更好的閱讀體驗,請點擊這裏

是不是被如何優雅地展示多平行邊折磨得焦頭爛額?是不是看到別人家的包裹效果眼饞不已?是不是覺得自定義節點特別難上手?

魚與熊掌不可兼得?不存在的,AntV G6 可以在功能豐富、性能強大的基礎上還能夠很好用、很易用。

多節點的輪廓包裹

在複雜的網絡應用中,有時需要分析團伙、社區的分佈。使用 G6 提供的 Bubble Set 功能,可以進行節點集的快速標記。有時,同一團伙或社區的節點,可能在佈局的作用下,分佈在屏幕上不同區域。Bubble Set 也可以自動“繞過”其他節點,精準標記。

是不是已經按奈不住你好奇的心只想一探究竟,戳這兒看 demobubble-set.gif   bubble-set2.gif

怎麼才能徹底搞清楚包裹效果和 Combo 的區別,答案就在下表:

Combo Bubble Set
含義與使用目的 數據中的分組信息展示與分析 交互過程中的標記與分析
影響佈局 ✅<br>可影響 comboForcedagre ❌<br>僅在圖繪製完成後,增加一個“凹包”形狀的區域顏色
形狀 內置有圓形、正方形 平滑的凹包多邊形
編輯節點從屬關係
根據節點分佈改變形狀
可自定義形狀
多層次嵌套

節點定義的新選擇

作爲圖重要組成部分之一,節點一直是 G6 中的一等公民。從 G6 1.0 到 G6 3.x,自定義節點均需要基於 Canvas 的語法進行定義,這需要用戶具有一定的 Canvas 技術基礎。所以,G6 3.7.0 爲大家帶來了類 JSX 的語法定義節點的機制。用戶可以通過使用類似於寫 HTML 標籤的方式自定義節點,只要會寫 HTML 就能夠自定義節點

基礎語法

&lt;[group|shape] [key]="value" style={{ [key]: value }}&gt;
  &lt;[more tag] /&gt; ...
  <text>value</text>
<!--[group|shape]-->

image.png

實現上圖節點的效果,使用下面的幾行代碼就可以輕鬆搞定。更完善的案例請戳這兒

與衆不同的節點類型

相比於其他圖可視化類庫,G6 的節點非常豐富。除圓形、矩形等基礎內置節點外,G6 還支持自定義節點。爲了更好地服務用戶,G6 決定支持 G2 的所有統計圖表, G6 的用戶從此可以把節點定義得與衆不同

image.png

更多關於節點中使用統計圖表的內容,請參考戳這兒

更多關於節點中使用統計圖表的 Demo,請戳這兒

優雅的 Edge 們

兩點間多邊的優雅展示

如果你被兩點間多邊的展示所困擾,請嘗試 G6.Util.``processParallelEdges,一鍵生成優雅的平行邊控制點!不知道說什麼好了,送自己一朵 G6 小紅花吧。戳這兒看 demo

image.png

節點連線交互

支持通過點擊兩個端點、從一個端點拖拽到另一個端點兩種交互方式,也支持配合鍵盤輔助鍵觸發該交互。戳這兒看 demo

create-edge.gif

持續增強的圖算法

發現圖中所有環

在複雜網絡中,存在環路可能代表有潛在的風險。G6 提供的計算圖中所有環算法,可以快速發現和展示環。爲終端用戶及時發現風險止損提供便捷。<br>find-cycle.gif <a name="RdACN"></a>

獲得任意兩節點間的路徑

在一個複雜的網絡中,任意兩個節點之間可能會存在多條路徑,包括阻斷路徑。G6 提供的尋徑算法,方便用戶發現和展示兩節點間的所有路徑或最短路徑。

find-path2.gif

最小生成樹

一個連通圖的生成樹包含有圖中全部的 n 個頂點,和可以構成一顆樹的 n-1 條邊。若邊具有權重值,連通所有節點的最小代價的生成樹即最小生成樹。最小生成樹可以應用在旅行路徑規劃、交通建設路徑規劃等場景中,找到連通所有站點(節點)、總成本最低的路徑。

截屏2020-08-24 下午6.05.04.png

渲染性能進化 ing

在底層渲染引擎的升級加持下,G6 V3.7.0 有以下幾點進步:

  • 自動裁剪視口外部圖形,提升全局渲染性能;
  • 正常模式下圖元拾取(例如 hover 某個節點並高亮、點選某個節點等)效率提升 2~3 倍;
  • 支持 quickHit 模式,該模式下,文本不參與拾取。大規模圖上使用該模式,拾取效率提升更加飛躍。

戳這兒看 demo

N(節點數),E(邊數),T(文本數) 交互 最高幀率(FPS)
G6 V3.6 G6 V3.7
N = 7167<br>E = 5421<br>T = 7167<br>總計 19755 個圖形 hover 高亮 13 正常模式:34<br>quickHit 模式(文本不參與拾取):39
拖拽畫布 1.7 3
N = 55000<br>E = 4933<br>T = 0<br>總計 59933 個圖形 hover 高亮 3.2 正常模式:7<br>quickHit(文本不參與拾取):25
拖拽畫布 0.9 1.8

結語

在 G6 3.7.0 版本中,我們從節點、邊、圖算法及性能方面做了功能增強及優化。我們提供了使用類似 JSX 的語法來定義節點;支持在節點中使用統計圖表;還可以在交互中對多節點進行包裹;另外,我們對邊也做了一定的優化,確保我們的用戶不在受多邊生成及展示的困擾;在圖算法和性能方面,我們也在不斷的豐富和優化。在圖可視化與圖分析的道路上,G6 一直在默默努力中,我們非常需要你的支持和反饋,也感謝你的關注。

> AntV G6 是一款開源的圖可視化引擎,專注於圖可視化及圖分析領域。 > 歡迎關注和 star 我們的 GitHub:https://github.com/antvis/G6 > 官網:https://g6.antv.vision/zh/

g6-gallery.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章