Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在visjs中设置节点轴的动态位置?_Javascript_Node.js_Vis.js_Vis.js Network - Fatal编程技术网

Javascript 如何在visjs中设置节点轴的动态位置?

Javascript 如何在visjs中设置节点轴的动态位置?,javascript,node.js,vis.js,vis.js-network,Javascript,Node.js,Vis.js,Vis.js Network,我有大约500个节点,我想把节点放在一起。为了实现这一点,我需要动态设置这些节点的X轴和Y轴位置。如何在vis.js中实现这一点?您可以使用VisData和update设置节点坐标,如果您这样设置: // data is your data in form of { nodes:nodes, edges:edges } window.testNodes = new vis.DataSet(data.nodes); // make it globally available for this de

我有大约500个节点,我想把节点放在一起。为了实现这一点,我需要动态设置这些节点的X轴和Y轴位置。如何在vis.js中实现这一点?

您可以使用
VisData
update
设置节点坐标,如果您这样设置:

// data is your data in form of { nodes:nodes, edges:edges }
window.testNodes = new vis.DataSet(data.nodes); // make it globally available for this demo
window.testEdges = new vis.DataSet(data.edges); // if you need to change something about edges too
data = { nodes: window.testNodes, edges: window.testEdges };

network = new vis.Network(container, data, options);
然后使用

window.testNodes.update({id:5,label:'wow',x:100,y:-200})
使用
id==5
更新节点。当然,
x:100,y:-200
会更新坐标


至于把节点放在一起,你应该弄清楚“在一起”是什么意思。例如,您可以创建一个简单的网格并将节点放入其中(通过如上所示设置节点的坐标)。你期望“在一起”的距离是多少?你还需要什么?如果您不仅在动态应用坐标方面有问题,我想说这值得一个单独的问题。

建议什么?设置节点位置的算法?D:是的,或者visjs网络中的任何逻辑,我可以根据属性加入节点。