Javascript 在infoVis JIT图形中指定节点之间的最小距离

Javascript 在infoVis JIT图形中指定节点之间的最小距离,javascript,canvas,graph-visualization,infovis,thejit,Javascript,Canvas,Graph Visualization,Infovis,Thejit,是否有任何方法可以指定力定向图中节点/边之间的最小距离 我有一些图,其中一个节点直接连接到数百个其他节点,在这种情况下,很难选择特定的边或节点,因为边和节点非常接近,以至于OnMouseCenter、onClick等事件不会按用户预期的方式触发 e、 g.如果nodeA和nodeB非常接近,当我悬停nodeA并期望它高亮显示时,nodeB高亮显示,因为事件是为nodeB触发的。当边缘彼此太近时,情况也是如此。基本上,对于用户来说,要知道哪个节点/边正处于悬停状态或被选择状态,确实会让人感到困惑

是否有任何方法可以指定力定向图中节点/边之间的最小距离

我有一些图,其中一个节点直接连接到数百个其他节点,在这种情况下,很难选择特定的边或节点,因为边和节点非常接近,以至于OnMouseCenter、onClick等事件不会按用户预期的方式触发

e、 g.如果nodeA和nodeB非常接近,当我悬停nodeA并期望它高亮显示时,nodeB高亮显示,因为事件是为nodeB触发的。当边缘彼此太近时,情况也是如此。基本上,对于用户来说,要知道哪个节点/边正处于悬停状态或被选择状态,确实会让人感到困惑

我知道我们可以指定边的长度。这在某种程度上可以解决这个问题,但当您有数百个节点和边时,这并没有帮助。我不能设置边长超过画布的高度

如果我们可以指定节点/边之间的最小距离,这将非常有用

有人知道怎么做吗?

作为,有一个
.eachNode()
函数,允许您循环所有节点并检索它们的数据

$jit.Graph.Util.eachNode( graph, function( node ) {  
   console.log( node );
} );  
// or:
graph.eachNode( function( node ) {  
    console.log( node );
} );
由于我已经一年多没有与InfoVis/TheJit合作了,而且目前还没有建立项目,我不知道你是否可以用它来检索这个职位。无论如何,如果你想出了这个步骤,你就必须写一个对象/数组/矩阵来保持这个位置。如果某个el靠近另一个el,您可以使用它来重新定位。

作为示例,有一个
.eachNode()
函数,允许您循环遍历所有节点并检索它们的数据

$jit.Graph.Util.eachNode( graph, function( node ) {  
   console.log( node );
} );  
// or:
graph.eachNode( function( node ) {  
    console.log( node );
} );

由于我已经一年多没有与InfoVis/TheJit合作了,而且目前还没有建立项目,我不知道你是否可以用它来检索这个职位。无论如何,如果你想出了这个步骤,你就必须写一个对象/数组/矩阵来保持这个位置。如果某个el靠近另一个el,您可以使用它重新定位。

请说明如何定义和渲染图形。否则这几乎是猜测。请展示如何定义和呈现图形。要不然就是猜测,这是个好主意。也许我会试试看。但我一直在从InfovisAPI中寻找能够做到这一点的东西。我不想自己设置节点的位置。@PratikPatel实际上这就是API提供的。如果我没记错的话,它使用
px
值,所以应该不会太难。我唯一想做的是“不那么容易”是所有实际的数学背后,因为每个节点都必须考虑其他节点X/Y VALL。至少
Graph.Node.getPos()
提供了构建数组所需的所有工具,您可以在其中进行计算。您的建议似乎是唯一的选项。这是一个好主意。也许我会试试看。但我一直在从InfovisAPI中寻找能够做到这一点的东西。我不想自己设置节点的位置。@PratikPatel实际上这就是API提供的。如果我没记错的话,它使用
px
值,所以应该不会太难。我唯一想做的是“不那么容易”是所有实际的数学背后,因为每个节点都必须考虑其他节点X/Y VALL。至少
Graph.Node.getPos()
提供了构建数组所需的所有工具,您可以在其中进行计算。您的建议似乎是唯一的选择。