一种基于d3的企业关联关系图谱的展示方法技术

技术编号:23512826 阅读:50 留言:0更新日期:2020-03-18 00:07
一种基于d3的企业关联关系图谱的展示方法,包括以下步骤:S1:获取画图所需的关系数据D,获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件;S2:利用D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需三种图形元素:line、circle、text,将数据N和数据E中的属性与三种图形元素绑定;S3:针对现有的图谱实现双击展开节点和双击删除节点的功能,根据操作实时更新页面数据,只保留在页面上展示的数据。本发明专利技术用户体验较好、页面流畅度较好。

A display method of enterprise association graph based on D3

【技术实现步骤摘要】
一种基于d3的企业关联关系图谱的展示方法
本专利技术涉及一种基于d3的企业关联关系图谱的展示方法。
技术介绍
如今,随着企业数量的不断增加,企业数据也在不断的增加和积累,通过企业图谱来查询企业多维度信息,深度挖掘企业与企业,企业与个人关系链路,以此来透视企业关系,洞察企业客户价值及风险。使用图谱表示企业(或者个人)关联关系时,可以更方便、直观、简明地展示出企业与企业,个人与个人,个人与企业之间的关联关系,能更好地满足用户需求或协助用户进行分析,用以支持风控和决策。尤其是金融行业,可以通过图谱将客户、企业、行业间的有效数据进行关联,从行业关联的维度预测风险,提前进行风险控制。现有技术生成企业关系图谱的主要方式是力导向图或者树图。力导向图将与核心节点相关联的企业子节点和个人子节点全部展示在页面,布局未经设计,节点和边只是堆砌在页面上,如果子节点的数量过多,整个展示界面显得拥挤无序,不能清晰直观地看出节点之间的关系,不利于关联关系的分析。而以树图的形式展现,当子节点数量庞大时,以树图形式展开的图谱,纵向高度会相当大,不便于使用者查看,用户体验差。而且节点数量过多时,页面的加载时间也会变长,影响页面流畅度。
技术实现思路
为了解决现有图谱展示的用户体验较差、页面流畅度较差的不足,本专利技术提供一种用户体验较好、页面流畅度较好的基于d3的企业关联关系图谱的展示方法。本专利技术解决其技术问题所采用的技术方案是:一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述方法包括以下步骤:S1:获取画图所需的关系数据D,数据内容包含节点数据N和连边数据E,获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件;S2:利用获取的关系数据D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需三种图形元素:line、circle、text,将数据N和数据E中的属性与三种图形元素绑定;S3:针对现有的图谱实现双击展开节点和双击删除节点的功能,根据操作实时更新页面数据,只保留在页面上展示的数据。进一步,所述步骤S1中,将机构内部数据、第三方数据、利用网络爬虫从主流网站爬取的数据,经过存储和分析,形成完成图谱所需的数据,数据D由节点数据N和连边数据E两部分内容构成,其中节点数据N包括实体名称、实体id、实体类别、注册资本和创建时间,连边数据E包括sourceid、targetid以及连边类型。获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件,json格式的数据更易于前端渲染。再进一步,所述步骤S2中,利用获取的关系数据D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点的坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需的三种图形元素:line、circle、text,完成元素添加后,将数据N和数据E中的属性与三种图形元素绑定,得到图谱的基本框架,图谱中连边表示为:path='M'+x0+”+y0+'L'+x1+'M'+x2+”+y2+'L'+x3+”+y3+'M'+j0+”+t0+'L'+j2+”+t2其中,图谱中节点之间的路径绘制采用svg的path标签,path标签代表一个形状的轮廓,可以描边,填充,用作剪切路径,或任何三者的结合。更进一步,所述步骤S3中,构建的数据删除模块中,删除节点和连边后,新的节点数组和连边数组在画布上需重新渲染。新的节点导入画布需进行预处理,节点需按照一定的半径和旋转角度环绕起来,vx,vy分别表示节点在x轴和y轴方向上的速度分量,公式表示如下:nodes.vx-=nodes.x*knodes.vy-=nodes.y*k其中,k=alpha*0.1,alpha为衰减系数,用于设置布局的冷却参数,即设置节点的运动时间,超过时间后运动就会停止;新的连边在画布重新渲染时,需要先初始化连边,统计每个节点的度,求每一条连边的起点(source)度的占比,令bias=起点度/(起点度+终点度),每条连边的长度设为200,默认弹簧劲度系数strength为1/min(起点度,终点度),遍历连边数组,计算施加在连边两端的力,推导出速度的变化:target.vx-=x*biastarget.vy-=y*biassource.vx+=x*(1-bias)source.vy+=y*bias其中,x*=l,y*=l,l=(l-distance[i])/l*alpha*strength。所述步骤S3中,节点数据和连边数据更新完毕后,画布整体布局的更新,依靠不断的迭代计算,每处理一次节点与连边看作一步,循环往复,通过alpha逐步衰减与节点固定坐标(fx,fy)来进行控制,公式表达如下:alpha+=(alphaTarget-alpah)*alphaDecayalphaDecay=1-Math.pow(alphaMin,1/300)其中,alpha的初始值为1,alphaMin的初始值为0.002;对画布上某节点A进行操作时,先判断节点A的属性nodemark和labelclass,若nodemark为0且labelclass为company或person,表明还未获取数据或数据未在画布上渲染,此时对节点A进行操作(例如双击),节点A的下一级节点和连边会渲染到画布;若节点A的nodemark为0且labelclass为company或person,表明获取的数据D已渲染在页面上,此时对节点A进行操作(例如双击),系统会遍历数组E,判断是否存在某边关系的sourceid等于N中某节点的nodeid;若不存在,说明系统已获取数据但未渲染,故将该条边关系的targetid作为节点的nodeid更新到数组N,实现页面渲染;若存在,将此边关系的targetid从N数组中删除,同时将此条边关系从E数组中删除;最后,调用删除模块,达到递归收回的效果。本专利技术的有益效果为:相比之前一开始就把所有数据堆砌在页面上,本专利技术一开始只展示当前被查询节点,即核心节点。系统通过获取当前节点的id组成新的API接口,从后台获取新的数据更新到页面并渲染,再次操作当前节点则将当前节点的子节点数据删除,达到收回效果。附图说明图1为本专利技术一个实施例的关联关系图谱的展示方法的流程图。图2为本专利技术一个实施例的关联关系图谱的示意图。具体实施方式下面结合附图和实施方式对本专利技术作进一步说明。参照图1和图2,一种基于d3的企业关联关系图谱的展示方法,包括以下步骤:S1获取关系数据将机构内部数据、第三方数据、利用网络爬虫从主流网站爬取的数据,经过存储、分析等步骤,形成完成图谱所需的数据,数据D主要由节点数据N本文档来自技高网...

【技术保护点】
1.一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述方法包括以下步骤:/nS1:获取画图所需的关系数据D,数据内容包含节点数据N和连边数据E,获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件;/nS2:利用获取的关系数据D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需三种图形元素:line、circle、text,将数据N和数据E中的属性与三种图形元素绑定;/nS3:针对现有的图谱实现双击展开节点和双击删除节点的功能,根据操作实时更新页面数据,只保留在页面上展示的数据。/n

【技术特征摘要】
1.一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述方法包括以下步骤:
S1:获取画图所需的关系数据D,数据内容包含节点数据N和连边数据E,获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件;
S2:利用获取的关系数据D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需三种图形元素:line、circle、text,将数据N和数据E中的属性与三种图形元素绑定;
S3:针对现有的图谱实现双击展开节点和双击删除节点的功能,根据操作实时更新页面数据,只保留在页面上展示的数据。


2.如权利要求1中所述的一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述步骤S1中,将机构内部数据、第三方数据、利用网络爬虫从主流网站爬取的数据,经过存储和分析,形成完成图谱所需的数据,数据D由节点数据N和连边数据E两部分内容构成,其中节点数据N包括实体名称、实体id、实体类别、注册资本和创建时间,连边数据E包括sourceid、targetid以及连边类型,获取的数据D经过工具类封装成对象后,由fastjson包进行序列化操作,返回json文件,json格式的数据更易于前端渲染。


3.如权利要求1或2所述的一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述步骤S2中,利用获取的关系数据D创建新的forceSimulation模拟,定义svg画布,并调用tick方法实时获取节点的坐标(x,y),基于布局的节点数组N和边数组E,添加绘图所需的三种图形元素:line、circle、text,完成元素添加后,将数据N和数据E中的属性与三种图形元素绑定,得到图谱的基本框架,图谱中连边表示为:
path='M'+x0+”+y0+'L'+x1+'M'+x2+”+y2+'L'+x3+”+y3+'M'+j0+”+t0+'L'+j2+”+t2
其中,图谱中节点之间的路径绘制采用svg的path标签,path标签代表一个形状的轮廓,可以描边,填充,用作剪切路径,或任何三者的结合。


4.如权利要求1或2所述的一种基于d3的企业关联关系图谱的展示方法,其特征在于,所述步骤S3中,构建的数据删除模块中,删除节点和连边后,新的节点数组和连边数组在画布上需重新渲染,新的节点导入画布需进行预处理,节点需按照一定的半径和旋转角度环绕起...

【专利技术属性】
技术研发人员:徐东伟孙佳慧顾淳涛俞山青
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1