兼容性

常用图库能力对比

按渲染、布局、元素、交互、扩展、算法和运行环境对比 G6Lite、G6 v5、sigma.js 与 Cytoscape.js

本页用于做能力选型,不是性能排行榜。版本核对日期为 2026-08-03:G6Lite 0.1.0-beta.22、AntV G6 5.1.1、sigma.js 3.0.3、Cytoscape.js 3.34.0。sigma.js v4 当时仍为 alpha,因此这里比较稳定版 v3。

状态含义:支持表示核心包或官方内置能力可直接使用;部分表示有明确边界;外部表示通常需要官方伴生包、生态扩展或业务实现;不支持表示当前公开 API 没有对应能力。

一句话结论

  • G6Lite:轻量 WebGL 图引擎,适合大图渲染后仍需频繁状态、拾取和增量更新,并愿意使用受控扩展边界的产品。
  • AntV G6 v5:完整图可视化框架,适合需要丰富元素、动画、组件、插件、多渲染器和 AntV 完整生态的应用。
  • sigma.js v3:建立在 Graphology 上的 WebGL 图渲染器,适合已有坐标或独立布局链路的大规模网络浏览与探索。
  • Cytoscape.js:图论模型与交互式可视化结合,适合同时需要图查询、算法、成熟扩展和 Node.js 分析的应用。

渲染、数据与布局

维度G6LiteAntV G6 v5sigma.js v3Cytoscape.js
渲染技术支持:节点和边使用 WebGL 2/1,标签与 Combo 使用 Canvas 2D支持:基于 AntV G,可选择 Canvas、SVG、WebGL,并支持 Node.js 服务端渲染支持:WebGL 渲染,核心定位是数千节点和边支持:浏览器 Canvas 渲染;图模型也可无界面运行
数据模型支持:GraphData 与统一 Graph API,节点、边可带业务 data 和状态支持:完整 Graph 数据模型和元素模型外部:以 Graphology 作为必备图模型支持:内置图论模型、集合、选择器和查询 API
内置布局支持:14 种,含 AntV Layout 与 mindmap / indented / fishbone支持:10 种以上,并支持自定义布局外部:通常使用 Graphology layout 包、Web Worker 或预计算坐标支持:核心布局加大量布局扩展
Worker / 并行布局部分:常用布局可配置 worker: true;自定义布局可响应取消信号支持:官方布局体系包含并行与扩展方案外部:由 Graphology layout worker 或业务链路承担外部:由具体布局扩展决定
高频增量更新支持:节点、边、状态、显隐和相机均有批量或增量 API支持:完整运行时数据与元素更新 API支持:监听 Graphology 变更并刷新对应渲染数据支持:集合式增删改、批处理与样式更新

布局耗时必须与纯渲染耗时分开衡量。已有坐标的 sigma.js 与重新执行 force 布局的其他方案,不能直接比较“首屏总耗时”。

元素、标签与分组

维度G6LiteAntV G6 v5sigma.js v3Cytoscape.js
节点部分:内置 circle / rect,可注册基于内置图元和 overlay 的节点扩展支持:丰富内置节点、自定义元素和 React 节点生态部分:内置节点 Program,可注册自定义 WebGL Program支持:多种节点形状、映射样式和扩展
边部分:内置 line / arc / polyline / cubic、箭头、路由和多重边,可注册边扩展支持:丰富边类型、路由、装饰和自定义元素部分:内置边 Program,可扩展 WebGL Program支持:多种曲线、箭头、端点和样式映射
标签支持:Canvas 2D 标签、背景、旋转、宽度限制和自定义 Label Renderer支持:节点、边、Combo 标签及丰富样式部分:节点标签为核心能力;边标签和高级排版通常依赖扩展或定制支持:节点、边标签及丰富文本样式
Combo / compound node部分:支持声明、嵌套、折叠、归组、状态和整体拖拽,当前为 beta 实验能力支持:完整 Combo 元素与交互生态不支持:核心渲染模型没有等价的可视分组容器支持:compound nodes 是核心数据模型能力
视觉状态支持:内置与自定义状态、批量状态、状态样式、查询和显隐支持:元素状态、状态样式和完整交互联动部分:通常通过 Graphology 属性、reducers 和应用状态表达支持:类、选择器、样式和交互状态体系

G6Lite 的节点、边扩展会复用现有 WebGL 批处理基型;它不是 G6 v5 Canvas/SVG 场景图形状子类的直接替代。如果业务需要任意路径、复杂 DOM/React 节点或完整形状树,应优先验证 G6 v5 或 Cytoscape.js。

交互、扩展与生态

维度G6LiteAntV G6 v5sigma.js v3Cytoscape.js
内置交互支持:11 个 Behavior,覆盖缩放、拖拽、选择、高亮、框选、套索、Tooltip 和边端点拖拽支持:10 种以上 Behavior,覆盖范围更广部分:相机、hover、click、拖拽等基础交互;复杂编辑通常由应用组合支持:核心手势、选择、拖拽和事件系统
自定义交互支持:注册 Behavior,生命周期为 create → init → getEvents → destroy支持:BaseBehavior 与注册体系支持:事件、camera、reducers 和自定义应用逻辑支持:事件系统、扩展与应用逻辑
扩展类别支持:node、edge、label、decoration、layout、behavior、transform、plugin支持:元素、Behavior、Layout、Transform、Plugin 等完整体系部分:自定义 Program、renderer 设置与 Graphology 生态支持:布局、渲染、交互、数据导入导出等扩展生态
插件部分:已有公开 Plugin 生命周期,但内置插件和社区生态仍少支持:Toolbar、Minimap、Tooltip、History 等成熟内置与生态能力外部:社区包和框架集成承担较多产品组件支持:成熟扩展目录,覆盖布局、分析和 UI
动画部分:没有通用 Graph 动画编排 API;仅个别元素效果或业务扩展可实现支持:元素、布局、视口和过渡动画体系部分:相机动画和节点属性动画可用,复杂时间线由应用实现支持:元素与视口动画 API
图算法不支持:只提供邻居与邻接边查询,不内置最短路、中心性等算法支持:官方包集成 @antv/algorithm外部:使用 Graphology 标准库中的算法包支持:遍历、最短路、中心性、连通性等图论 API

运行环境与工程形态

维度G6LiteAntV G6 v5sigma.js v3Cytoscape.js
浏览器要求现代 ESM、真实 DOM/Canvas、WebGL 1.0 以上浏览器能力取决于所选 renderer 与构建目标现代浏览器与 WebGL浏览器 Canvas;也可 headless
Node.js / SSR不支持渲染:只能在客户端生命周期创建 Graph支持:官方声明支持 Node.js 服务端渲染部分:Graphology 可在 Node.js 使用,Sigma renderer 仍需要浏览器/WebGL 环境支持:图模型和算法可在 Node.js headless 运行
TypeScript包内类型,包根导出是公开契约TypeScript 源码和完整类型包内类型提供类型声明
包与生态成熟度0.1.x beta,API 边界受控、生态较新5.1.1 稳定版,AntV 生态完整3.0.3 稳定版;v4 为 alpha3.34.0 稳定版,长期维护和扩展丰富

如何选择

优先选择 G6Lite,当以下条件同时成立:目标运行环境稳定支持 WebGL;大图渲染后的拾取、状态与批量更新是主要矛盾;circle / rect、常用边和受控扩展足以表达视觉;不依赖 SSR、完整动画和图算法。

优先选择 G6 v5,当产品需要丰富元素、完整插件与动画、多 renderer、React 节点、3D 或服务端渲染,并且更完整的能力面比最小运行时更重要。

优先选择 sigma.js,当团队已经使用 Graphology、布局坐标由后端或独立管线生成,产品核心是大规模网络的浏览、过滤和探索。

优先选择 Cytoscape.js,当图论分析、compound nodes、复杂选择器、Node.js headless 和成熟科研/网络分析扩展是核心需求。

公平验证清单

  1. 固定候选版本、数据、坐标、样式、标签策略、视口、DPR、浏览器和硬件。
  2. 将“预置坐标”和“重新布局”拆成两组,分别记录布局与纯渲染耗时。
  3. 除首屏外,验证拖拽、缩放、拾取、高亮、批量更新和销毁后的内存趋势。
  4. 使用真实业务的 Combo、标签、箭头和状态数量,避免只测无样式裸点线。
  5. 记录中位数、P95、样本量和误差,并保存完整适配代码与配置。

G6Lite 的测量入口见性能指标和性能调优。

官方资料