logo

G6

  • 文档
  • API
  • 图表示例
  • 社区
  • 所有产品antv logo arrow
  • 5.0.47
  • 数据
  • 画布操作
  • 元素操作
  • 图实例
  • 绘制与渲染
  • 视口操作
  • 布局
  • 图配置项
  • 插件
  • 交互
  • 主题
  • 数据处理
  • 事件监听
  • 导出图片
  • 坐标转换

数据处理

上一篇
主题
下一篇
事件监听

Resources

Ant Design
Galacea Effects
Umi-React 应用开发框架
Dumi-组件/文档研发工具
ahooks-React Hooks 库

社区

体验科技专栏
seeconfSEE Conf-蚂蚁体验科技大会

帮助

GitHub
StackOverflow

more products更多产品

Ant DesignAnt Design-企业级 UI 设计语言
yuque语雀-知识创作与分享工具
EggEgg-企业级 Node 开发框架
kitchenKitchen-Sketch 工具集
GalaceanGalacean-互动图形解决方案
xtech蚂蚁体验科技
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

数据处理概述

数据处理(Transform)是 G6 中一项强大的功能,允许在图渲染过程中对数据进行处理和转换。通过数据处理器,您可以实现各种数据处理需求,比如:

  • 数据过滤:根据条件筛选需要显示的节点和边
  • 数据计算:基于原始数据生成新的属性,如根据节点连接数计算节点大小,但不污染原始数据
  • 数据聚合:将大量节点聚合为少量节点,提高大规模图表的性能

数据处理发生在渲染流程的特定阶段,可以灵活地改变最终呈现的结果,而无需修改原始数据源。

API 参考

Graph.getTransforms()

获取当前图表中所有已配置的数据处理器。

getTransforms(): TransformOptions;

返回值

  • 类型: TransformOptions
  • 描述: 当前图表中已配置的所有数据处理器

示例

// 获取当前所有数据处理器
const transforms = graph.getTransforms();
console.log('当前图表的数据处理器:', transforms);

Graph.setTransforms(transforms)

设置图表的数据处理器,将替换所有现有的数据处理器。

setTransforms(transforms: TransformOptions | ((prev: TransformOptions) => TransformOptions)): void;

参数

参数描述类型默认值必选
transforms新的数据处理器配置,或一个基于当前配置返回新配置的函数TransformOptions | (prev: TransformOptions) => TransformOptions-✓

说明

数据处理器能够在图渲染过程的不同阶段对数据进行处理。设置的数据处理会全量替换原有的数据处理,如果需要在现有数据处理基础上添加新的数据处理,可以使用函数式更新方式。

示例 1: 设置基本数据处理

graph.setTransforms(['process-parallel-edges', 'map-node-size']);

示例 2: 设置带配置的数据处理

graph.setTransforms([
// 字符串形式(使用默认配置)
'process-parallel-edges',
// 对象形式(自定义配置)
{
type: 'process-parallel-edges',
key: 'my-process-parallel-edges',
distance: 20, // 平行边之间的距离
},
]);

示例 3: 使用函数式更新

// 添加新的数据处理到现有配置
graph.setTransforms((currentTransforms) => [
...currentTransforms,
{
type: 'map-node-size',
key: 'my-map-node-size',
maxSize: 100,
minSize: 20,
},
]);

Graph.updateTransform(transform)

更新指定的数据处理器配置,需要通过 key 标识要更新的数据处理。

updateTransform(transform: UpdateTransformOption): void;

参数

参数描述类型默认值必选
transform更新的数据处理配置UpdateTransformOption-✓

说明

如果要更新一个数据处理器,必须在原始数据处理配置中指定 key 字段,以便能够准确找到并更新该数据处理。

示例: 更新数据处理配置

// 初始设置数据处理时指定 key
graph.setTransforms([
{
type: 'process-parallel-edges',
key: 'my-process-parallel-edges',
distance: 20,
},
]);
// 更新平行边距离
graph.updateTransform({
key: 'my-process-parallel-edges',
distance: 30,
});

类型定义

TransformOptions

数据处理器配置类型,表示一组数据处理配置的数组。

type TransformOptions = (CustomTransformOption | ((this: Graph) => CustomTransformOption))[];

CustomTransformOption

自定义数据处理配置接口,用于配置数据处理参数。

type CustomTransformOption = {
// 数据处理类型
type: string;
// 数据处理唯一标识
key?: string;
// 针对不同类型的数据处理,还可能有其他配置项
[configKey: string]: any;
};

UpdateTransformOption

更新数据处理的配置接口,用于动态修改数据处理参数。

type UpdateTransformOption = {
// 要更新的数据处理的唯一标识
key: string;
// 其他要更新的配置项
[configKey: string]: unknown;
};