JavaScript InfoVis Toolkit、特にhypertreeを使用して視覚化を行っています。データを動的に読み込んでいますが、ノードの周りのラベルが重なり合って乱雑になることがあります。ラベルの位置を変更して、この混乱を避けたいと思います。
クラッタリングの例を次に示します (上部ノードと下部ノード)。
各 x、y 座標をループし、バウンディング ボックスを指定して基本的な衝突検出を行い、それに応じて位置を更新することを想像します。
このライブラリでは、デモが onPlaceLabel() 関数を示していますが、(正しく理解していれば) その時点では、他のすべてのノードのラベルの位置はわかりません。したがって、onComplete() を見ていると、次のように各ノードにアクセスできることがわかります。
onComplete: function(){
ht.graph.eachNode(function(n) {
console.log(n);
}
}
ただし、ノード情報にはラベルの位置は含まれず、中心ノードに対する位置のみが含まれます。この方法でラベルにアクセスし、その位置を更新できる方法はありますか?