我有一个由vis.js以分层方式绘制的网络(自上而下)。在通过鼠标交互左右移动节点之后,我可以调用getPositions
来检索任何节点的X坐标,但是当我调用storePositions
时,这些节点将移回其原始位置,即首次添加时在此处绘制到Network
。
我希望用户能够控制每个节点在其“自由”运动轴上的位置(即,在自上而下的分层布局中,节点y
的位置由{{ 1}},但节点node.level
的位置由用户互动设置并保持不变)
答案 0 :(得分:1)
对LayoutEngine.js的一些修改解决了这个问题。通常,所以我不会忘记:可以修补LayoutEngine::setupHierarchicalLayout
以便将有问题的节点与其在数据集中的x或y值重新同步。
在LayoutEngine::setupHierarchicalLayout
内,可以将this.body.nodes[nodeId].x
或this.body.nodes[nodeId].y
设置到所需位置。
另请参阅: