简介

G6 3.0 重构的目的:

  • 提供更简单、易用的接口
  • 更好的性能
  • 满足图分析需求

边界

由于 G6 作为底层的通用基础库,上面还有两个产品:

  • G6-Editor: 图编辑器,主要用于拖拽生成流程图,重交互场景
  • G6-Analysis:图分析器,用于图分析场景,重分析、重算法

需求分析 - 图1

G6 的范围

所以 G6 要做的是在图编辑和图分析都需要的的工作:

  • 数据导入
  • 数据导出
  • 数据更新(整体、渐进、局部)
  • 节点和边的定义
  • 整个图的绘制、刷新、增删改
  • 节点和边的拖拽
  • 节点和边的动画
  • 画布的拖拽、缩放
  • 底层事件

G6-Editor 的范围

G6-Editor 特有的组件和功能不会做到 G6 中去:

  • 元素面板、工具栏、详情面板、导航组件、右键菜单、
  • 节点、边 同各种组件的联动
  • 边的自动布局、图编辑中节点自动布局
  • 节点的栅格对齐
  • 群组
  • html 的支持
  • 复杂节点的支持
  • 模式、行为
  • 框选、单选、复制、黏贴
  • 命令、回滚、前进
  • 锚点

G6-Analyzer 的范围

  • 图论的基本概念的实现
  • 图论基本算法的实现
  • 各种布局算法,布局过程中的动画
  • 各种查找
  • 图分析的交互:选中、高亮
  • 分析组件:鱼眼、缩略图、图例、Tooltip

本章主要讨论 G6 的边界,G6-Editor 和 G6-Analysis 简单的讨论,有专门的章节来讨论这两个产品

用例

需求分析 - 图2

概念视图

需求分析 - 图3