关于用d3.js画力导向图(Force-directed Graph)—如何让图收放自如

使用d3画出很好看的力图,可以展示那种Neo4j知识图谱的效果。但是当一满屏都是小圆圈时又有点丧失了即看即懂的效果。因此需要实现对节点的收放。
主要是对生成力图的数据点集进行操作。
其中在收回某个节点的子节点时就是把数据点集中的相关节点删除,然后更新显示。需要注意的是,在删除点集时还有对点集进行循环查找,这个时候应该采用slice方法把原始点集深度拷贝一份,在这个点集里进行查找,然后删除原点集中的数据,否则会产生循环查找删除不完整的情况。(由于js的深度拷贝的原因,在删除显示点集时还需要拷贝源点集,否则可能把源点集给删掉了,没法恢复。)
在展开节点时,需要从源数据点集中循环查找某个待扩展点集的相关节点和关系,并将其加入到显示数据点集中,然后进行显示更新操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值