neo4jd3拓扑节点显示为节点标签(自定义节点显示)

需求描述:如下图所示,我的拓扑图中有需要不同类型的标签节点,我希望每个节点中显示的是节点的标签
在这里插入图片描述
在官方示例中,我们可以看到,节点里面是可以显示图标的,现在我们想将下面的图标换成我们自定义的内容
在这里插入图片描述
那么neo4jd3是如何实现这个效果的嗯?那就是我们在初始化neo4jd3的时候,为其添加icons属性。
在这里插入图片描述
在neo4jd3的源码中,我们可以发现icons属性定义在了options中。
在这里插入图片描述
然后我们查找一下icons这个属性在哪里被使用
在这里插入图片描述
如上图所示,我们可以看到,如果设置了icons,appendTextToNode这个方法,我们进去看看这个方法怎么实现的。
不难发现如下代码,如果在**icon()**这个方法中没有找到小图标,就显示为节点的id。

.html(function(d) {
 	var _icon = icon(d);
    return _icon ? '&#x' + _icon : d.id;
}

在这里插入图片描述
为了不破坏现有的方法,我们再次基础上增加一个属性showLabel,大概位置在源代码25行左右
在这里插入图片描述
然后大概在200行左右修改为如下的代码,其中appendLableToNode就是我们新增加的方法
在这里插入图片描述
当然这里,我也没过多的魔改代码,就是将appendTextToNode拷贝,换个名字,然后把最后一行代码改了

return _icon ? '&#x' + _icon : d.id;
改成
return d.labels[0];//如果你节点有可能有多个标签,那你就拼接多个标签

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值