如何在分层布局中设置节点位置?

时间:2018-11-03 02:52:17

标签: vis.js vis.js-network

我有一个由vis.js以分层方式绘制的网络(自上而下)。在通过鼠标交互左右移动节点之后,我可以调用getPositions来检索任何节点的X坐标,但是当我调用storePositions时,这些节点将移回其原始位置,即首次添加时在此处绘制到Network

我希望用户能够控制每个节点在其“自由”运动轴上的位置(即,在自上而下的分层布局中,节点y的位置由{{ 1}},但节点node.level的位置由用户互动设置并保持不变)

1 个答案:

答案 0 :(得分:1)

对LayoutEngine.js的一些修改解决了这个问题。通常,所以我不会忘记:可以修补LayoutEngine::setupHierarchicalLayout以便将有问题的节点与其在数据集中的x或y值重新同步。

LayoutEngine::setupHierarchicalLayout内,可以将this.body.nodes[nodeId].xthis.body.nodes[nodeId].y设置到所需位置。

另请参阅:

Vis.js pull request #4183