G6 可解析 json 格式的数据。以下键名在 G6 中有特定含义,用户在设置自有数据时应避免使用 。用以下格式传入数据:
Graph
{nodes:[],edges:[],groups: [],guides: []}
节点的数据模型
对所有图形有效
{id: 'node1', // id 必须唯一shape: 'circle', // 所用图形parent: 'group1', // 所属组index: 1 // 渲染层级}
仅对默认注册图形有效
{color: '#333', // 颜色size: 10 || [10, 10], // 尺寸 || [宽, 高]style: { // 关键形样式(优先级高于color)fill: 'red',stroke: 'blue'},label: '文本标签' || { // 文本标签 || 文本图形配置text: '文本标签',fill: 'green'},labelOffsetX, // 文本标签 x 坐标偏移labelOffsetY, // 文本标签 y 坐标偏移}
边的数据模型
对所有图形有效
{id: 'edge1', // id 必须唯一source: 'node1', // 源节点 idtarget: 'node2', // 目标节点 idcontrolPoints: [{ // 控制点x: 10,y: 10}],sourceAnchor: 0, // 源节点锚点targetAnchor: 2, // 目标节点锚点shape: 'line', // 所用图形index: 1 // 渲染层级}
仅对默认注册图形有效
{color: 'red', // 颜色size: 3, // 尺寸style: { // 关键形样式(优先级高于color)fill: 'red',stroke: 'blue'},label: '文本标签' || { // 文本标签 || 文本图形配置text: '文本标签',fill: 'green'},labelRectStyle: { // 文本标签背景样式fill: 'red'},labelOffsetX, // 文本标签 x 坐标偏移labelOffsetY, // 文本标签 y 坐标偏移}
群组的数据模型
对所有图形有效
{id: 'group1', // id 必须唯一shape: 'rect', // 所用图形parent: 'group2', // 所属组index: 1 // 渲染层级}
仅对默认注册图形有效
{color: '#333', // 颜色size: 10 || [10, 10], // 尺寸 || [宽, 高]style: { // 关键形样式(优先级高于color)fill: 'red',stroke: 'blue'},label: '文本标签' || { // 文本标签 || 文本图形配置text: '文本标签',fill: 'green'},labelOffsetX, // 文本标签 x 坐标偏移labelOffsetY, // 文本标签 y 坐标偏移}
导入数据
const data = {nodes: [{id: 'node1',x: 100,y: 200},{id: 'node2',x: 300,y: 200}],edges: [{id: 'edge1',target: 'node2',source: 'node1'}]};const graph = new G6.Graph({container: 'mountNode',width: 500,height: 500});graph.read(data);
Tree
对所有图形有效
{roots: [{id: 'root', // 根节点 idshape: 'circle', // 图形parent: 'parentId', // 父节点 idcollapsed: false, // 是否折叠index: 1, // 渲染层级children: [{ // 子元素集 (子元素数据模型和根节点同构)id: 'leaf',}],}]}
仅对默认注册图形有效
{roots: [{color: '#333', // 颜色size: 10 || [10, 10], // 尺寸 || [宽, 高]style: { // 样式 (优先级高于 color)fill: 'red',stroke: 'blue'},label: '文本标签' || { // 文本标签 || 文本图形配置text: '文本标签',fill: 'green'},labelOffsetX, // 文本标签 x 坐标偏移labelOffsetY, // 文本标签 y 坐标偏移}]}
