image.png
2020 年 11 月 22 日 AntV 开源日,G6 发布了 4.0 版本[1]。时隔 3 个多月,陪伴 G6 一起成长的那帮小伙伴[2] 依旧在为 G6 的发展贡献着力量。G6 4.2.0 采用多包管理,在提升维护性和扩展性的基础上,G6 的能力更开放,生态建设也有了进一步提升。新变化主要有:全新的架构升级,完善的生态建设,极致的体验优化。

🚀 全新的架构升级

G6 从 3.0 版本迭代到 4.0 版本,在功能特性逐步完善的情况下,代码量也在急剧增加。为解决维护性、可扩展性、包体积的膨胀以及模块耦合等问题,我们将 G6 各能力拆包,改造后的架构图如下:
image.png
采用多包管理以后,G6 的能力更开放了,我们将布局和算法分别拆成了 antv/layoutantv/algorithm[4] 两个独立的包,提供给 X6、butterfly 等开源图可视化库使用,让其他库也具备和 G6 一样的图布局和算法能力。我们也将 G6 中的 issues 分类整理,将近半年的迭代需求对社区公开,通过 《致G6 用户的一封信》,寻求社区贡献者!

🎉 完善的生态建设

G6 4.2.0 版本带来了完善的生态:针对React开发者,我们支持使用组件方式自定义节点,同时与 React 技术栈深度融合,推出了全新的 Graphin2.0 版本,用户可以开箱即用;针对移动端需求,我们推出了 G6Mobile ,覆盖 H5、小程序等多端场景;针对 Notebook 用户,我们推出了 ipygraphin ,用户可以很方便地在 Jupyter Notebook 中使用图可视化的能力。

G6 + React: Graphin 2.0

GitHub:https://github.com/antvis/Graphin

G6 4.2.0 版本带来了一个重要生态产品:Graphin 2.0。它深度整合 G6 图可视分析能力,为 React 用户带来了三个主要变化:开箱即用的功能,全新架构升级,集成解决方案。更多内容请参考:🎉 Graphin 2.0 来啦
graphin.gif

G6 + 移动端:H5/小程序

GitHub:https://github.com/antvis/G6/tree/mobile/packages/mobile

针对日益旺盛的移动端需求,我们推出了 G6Mobile ,覆盖 H5、小程序等多端场景,这也许可以让 G6 成为世界上第一款支持小程序的图可视化引擎。
目前只支持支付宝小程序,在不久的将来,我们还会支持微信小程序及其他的小程序。更多内容请参考:如何使用 G6 在小程序里面绘制关系图
g6-mobile.gif

G6 + Notebook: ipygraphin

GitHub:https://github.com/alibaba/GraphScope/tree/main/python/jupyter/ipygraphin

我们和阿里巴巴达摩院图计算 GraphScope[6] 团队合作,为其开发了 G6/Graphin 插件 ipygraphin,让用户可以很方便地在 JupyterLab / Jupyter NoteBook 中使用图可视化的能力。
g6-notebook.gif

🎨 持续的体验优化

更简单的节点定义

GitHub:https://github.com/antvis/G6/tree/master/packages/react-node

G6 4.2.0 版本推出了@antv/g6-react-node, 解决了自定义节点门槛高的问题。用户借助该包,可使用开发 React 组件的方式来自定义 G6 的节点。
@antv/g6-react-node 支持类似于 flex 布局的自动布局,对事件定义精细到了图形级别,并且可以像 React 组件一样,支持图形元素的组件级复用,让开发图元素更加便捷。我们相信:只要你会使用 React,你就能自定义 G6 节点。更多内容请参考:如何使用 React 在 G6 里面优雅地定制节点
g6-react.gif

更丰富的图算法

图算法是图可视分析的重要工具,G6 团队持续建设 @antv/algorithm[7] ,添加更多基础的、实用的图算法,帮助用户更好地搭建图分析应用。本次 G6 4.2.0 版本更新,我们实现了自动聚类[8](包括标签传播和 LOUVAIN 社区计算算法)和模式匹配算法[9]。同时,感谢 GitHub 社区同学 @zuiidea 的共建,@antv/algorithm 支持了在 web-worker 中执行算法,避免较复杂的计算阻塞页面。
image.png

更易用的节点分组

节点分组 Combo 是大家最常用的功能之一,对 Combo 的诉求也在不断增加。G6 4.2.0 版本我们支持了创建固定大小的 Combo、优化了「层次布局中使用 Combo」[10]的问题。image.png

其他小优化

G6 4.2.0 支持绘制带有文字或图片水印的图,保护您的创作版权。
image.png
时间轴更加自由有爱了,支持自由配置花里胡哨的样式,支持边的时序数据过滤:
image.pngimage.png

致谢

感谢一直支持、使用并关注 G6 的伙伴们,特别感谢参与 G6 共建的社区同学。目前 G6 仍有许多不足,但是我们相信通过持续的迭代,以及越来越多热爱图可视分析方向同学的共同努力,我们会变得越来越好。欢迎关注和 star 我们的 GitHub:

image.png

附录