首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在vis.network中,可以将节点设置为重心吗?

在vis.network中,可以将节点设置为重心吗?
EN

Stack Overflow用户
提问于 2020-08-18 12:03:13
回答 1查看 426关注 0票数 1

我正在使用vis.js显示网络图。在拖动节点后,我需要保持“边长度”,所以我使用物理选项。我的问题是,我拖动的节点总是弹回它的原始位置,我认为这是因为这些选项。

代码语言:javascript
运行
复制
physics: {
    forceAtlas2Based: {
          gravitationalConstant: -150,
          centralGravity: 0.005,
          springLength: 180,
          springConstant: 0.18,
    },
    maxVelocity: 146,
    solver: "forceAtlas2Based",
    timestep: 0.35,
    stabilization: {
            enabled: true,
            iterations: 1000,
            updateInterval: 25
    }
}

所以我现在在想的是,如果有一种方法,我可以改变“中心”,让节点被拖动,这样物理重心就会围绕它旋转?

有没有一种方法可以重新稳定网络,而不让被拖动的节点反弹到其初始位置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 07:11:47

当前无法将选定节点设置为重心。但您可以在dragStartdragEnd等事件上更改它们的参数,如mass

代码语言:javascript
运行
复制
network.on("dragStart", function(e){
    const id = network.getNode(e.nodes[0]).id
    nodes.update([ { id, mass: 5 } ])
})

你也可以运行network.stopSimulation()network.stabilize()来停止物理模拟。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63461699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档