GraphVis图可视化分析组件库 GraphVis图可视化分析组件库
  • 基础介绍
  • 基础功能
  • 交互功能
  • 全局统一配置
  • 标准数据格式定义
  • 组件接口导航
  • 应用开发介绍

    • 快速上手
    • 应用开发步骤
    • VUE框架中应用
    • 业务应用基础流程
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单的定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局参数默认配置
  • 图分析算法应用

    • 图的路径分析
    • 节点中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
  • 节点模板配置

    • 自定义节点模板
    • 使用字体图标
  • 关系图类型

    • 层级关系图
    • 流程图
    • 弧线关系图
    • Sankey桑基图
  • 树图类型

    • 径向辐射树图
    • 紧凑树图
    • 缩进树图
    • 打包树图
    • 组织结构图
    • 类思维脑图
应用案例
商用授权
在线示例 (opens new window)
  • 基础介绍
  • 基础功能
  • 交互功能
  • 全局统一配置
  • 标准数据格式定义
  • 组件接口导航
  • 应用开发介绍

    • 快速上手
    • 应用开发步骤
    • VUE框架中应用
    • 业务应用基础流程
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单的定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局参数默认配置
  • 图分析算法应用

    • 图的路径分析
    • 节点中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
  • 节点模板配置

    • 自定义节点模板
    • 使用字体图标
  • 关系图类型

    • 层级关系图
    • 流程图
    • 弧线关系图
    • Sankey桑基图
  • 树图类型

    • 径向辐射树图
    • 紧凑树图
    • 缩进树图
    • 打包树图
    • 组织结构图
    • 类思维脑图
应用案例
商用授权
在线示例 (opens new window)
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局算法参数配置
  • 图分析算法应用

    • 路径分析
    • 中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
      • 关系扩线
        • 关系扩线的要求
        • 数据扩展接口
        • 关系扩展应用示例
      • 关系扩线实例图
  • 节点模板配置

    • 节点模板配置
    • 使用字体图标
  • 应用开发
  • 关系扩线
dubaopeng
2023-02-05
目录

关系扩线

# 关系扩线

提示

在关系数据分析过程中,经常会遇到关系扩线的操作,通过某一个节点查找他的关联关系,动态的将查询到的关系数据追加到当前图上,从而实现一步步的数据线索探查,由点扩面的深入分析。

# 关系扩线的要求

  • 不影响画布中当前已展示的数据
  • 新增数据需要摆放在合理的空间位置上,尽量避免交叉遮挡

# 数据扩展接口

组件库提供了动态数据添加接口 activeAddData(centerNode, incrementData, layoutType, config) 来对新查询到的数据进行合并和新增。

参数 参数名 说明
centerNode 中心节点 扩展数据的中心节点
incrementData 关系数据 标准格式的关系数据,如:{nodes:[],links:[]}
layoutType 布局类型 默认:fastForce
config 扩展配置 扩展的配置,需要指定业务系统定义节点大小,扩展区域最小半径, 如:{nodeRadius: 30,minCircleRadius: 150}

# 关系扩展应用示例

let graphVis = new GraphVis({
    container:document.getElementById('graph-container'), 
    licenseKey:'licensekey' //授权license
});

//注册节点双击事件
graphVis.registEventListener('node','dblClick',function(event,node){
    var searchData = generateData(node); //模拟服务端数据查询结果
    graphVis.activeAddData(node,searchData,'fastForce',{nodeRadius: 40,minCircleRadius: 150});//动态追加数据
});

const demoData = {
    nodes:[
        {id:1000,label:'节点一',y:300,x:200},
        {id:2000,label:'节点二',y:100,x:400},
        {id:3000,label:'节点三',y:300,x:600},
        {id:4000,label:'节点四',y:100,x:800},
        {id:5000,label:'节点五',y:300,x:1000}
    ],
    links:[
        {id:'e-10',source:1000,target:2000,label:'关系一'},
        {id:'e-20',source:2000,target:3000,label:'关系二'},
        {id:'e-30',source:3000,target:4000,label:'关系三'},
        {id:'e-40',source:4000,target:5000,label:'关系四'},
        {id:'e-50',source:4000,target:2000,label:'关系A'},
        {id:'e-60',source:3000,target:1000,label:'关系B'},
        {id:'e-70',source:5000,target:3000,label:'关系A'}
    ]
};
graphVis.addGraph(demoData); //批量绘图
graphVis.setZoom('auto');

//模拟服务端查询关系数据
function generateData(node){
    var sourceId = node.id;

    var nodeNum = Math.round(Math.random()*50);
    var newNodes = [];
    var newLinks = [];
    for(var i=0;i<nodeNum;i++){
        var nodeId = Math.round(Math.random()*1000000)+1;
        newNodes.push({id:nodeId,label:'点'+nodeId});

        var edgeId = Math.round(Math.random()*1000000)+1;
        newLinks.push({
            id:'e-'+edgeId,source:sourceId,target:nodeId,label:edgeId
        });
    }
    return {nodes:newNodes,links:newLinks};
} 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# 关系扩线实例图

关系扩展实例图

聚类分析
节点模板配置

← 聚类分析 节点模板配置→

Theme by Vdoing | Copyright © 2020-2023 www.graphvis.cn. All rights reserved.
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式