gpt4 book ai didi

javascript - 指定 infoVis JIT 图中节点之间的最小距离

转载 作者:行者123 更新时间:2023-11-28 02:19:24 27 4
gpt4 key购买 nike

有什么方法可以指定力定向图中节点/边之间的最小距离吗?

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

例如如果nodeA和nodeB非常接近,当我将鼠标悬停在nodeA上并期望它突出显示时,nodeB会突出显示,因为为nodeB触发了事件。当边缘彼此太靠近时,情况也是如此。基本上,用户很难知道到底哪个节点/边缘正在悬停或选择。

我知道我们可以指定边长。这可以在一定程度上解决这个问题,但当你有数百个节点和边时,它并没有帮助。而且我无法将边长设置为超过 Canvas 的高度。

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

有谁知道怎么做吗?

最佳答案

作为InfoVis/TheJit API Documentation ,有 .eachNode() 函数允许您循环遍历所有节点并检索它们的数据。

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

由于我已经一年多没有与 InfoVis/TheJit 合作,目前还没有建立项目,所以我不知道您是否可以通过 Graph.Node.getPos() 检索职位。不管怎样,如果你弄清楚了这一步,你就必须编写一个对象/数组/矩阵来保存该位置。如果某个 el 接近另一个 el,您可以使用 Graph.Node.setPos()重新定位它。

关于javascript - 指定 infoVis JIT 图中节点之间的最小距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15899478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com