我正在使用JavaScript InfoVis Toolkit进行可视化,特别是hypertree。我正在动态加载数据,有时节点周围的标签会重叠和混乱。我想通过改变标签位置来避免这种混乱。
这是一个混乱的例子(顶部和底部节点):
我想我会循环遍历每个x,y坐标,给它一些边界框并进行基本的碰撞检测,并相应地更新位置。
对于这个库,我看到演示显示了一个onPlaceLabel()函数,但是(如果我理解正确的话)那时我不知道每个其他节点标签的位置。所以,我正在查看onComplete(),我看到我可以按如下方式访问每个节点:
onComplete: function(){
ht.graph.eachNode(function(n) {
console.log(n);
}
}
但是节点信息不包括其标签位置,只包括它们相对于中心节点的位置。有没有办法以这种方式访问标签并能够更新他们的位置?