【问题标题】:Change physics based on group - visjs基于组改变物理 - visjs
【发布时间】:2018-05-12 04:38:19
【问题描述】:

我想让图表中的某些节点组的行为与其他节点不同。
例如,我有一个名为“属性”的组,我将其动态添加到图表中。我需要更改该组的重力常数或权重,使它们更靠近父节点,然后是其余节点。

我希望这个例子有助于形象化问题。 (因为敏感信息不得不把标签涂黑)

我将如何在 vis.js 中完成这项工作?

【问题讨论】:

    标签: javascript graph vis.js-network vis.js


    【解决方案1】:

    //

    嗨,杰森。

    请参阅随附的代码 sn-p。 希望对你有帮助。

    // create an array with nodes
      var nodes = new vis.DataSet([
        {id: 1, label: 'Node 1', group: 1},
        {id: 2, label: 'Node 2', group: 2},
        {id: 3, label: 'Node 3', group: 1},
        {id: 4, label: 'Node 4', group: 2},
        {id: 5, label: 'Node 5', group: 2}
      ]);
    
      // create an array with edges
      var edges = new vis.DataSet([
        {from: 1, to: 3},
        {from: 2, to: 4},
        {from: 2, to: 5}
      ]);
    
      // create a network
      var container = document.getElementById('mynetwork');
      var data = {
        nodes: nodes,
        edges: edges
      };
      var options = {
        groups: {
          1: { color: 'red', mass: 500 },// try to change this value
          2: { color: 'blue', mass: 5 }
        },
        physics: true
      };
      var network = new vis.Network(container, data, options);
      
    #mynetwork {
          width: 600px;
          height: 400px;
          border: 1px solid lightgray;
        }
    
        p {
          max-width: 600px;
        }
    <!doctype html>
    <html>
    <head>
      <title>Network | Basic usage</title>
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.20.0/vis.min.js"></script>
      <link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.20.0/vis.min.css" rel="stylesheet" type="text/css"/>
    </head>
    <body>
    <div id="mynetwork"></div>
    
    
    
    </body>
    </html>

    【讨论】:

    • 非常感谢!有什么方法可以将这样的东西与其他物理模型一起使用?喜欢“forceAtlas2Based”吗?
    • @Jason 据我了解应该是一样的。尝试添加:“edges”:{“smooth”:{“forceDirection”:“none”}},“physics”:{“forceAtlas2Based”:{“centralGravity”:0.03,“springLength”:100},“minVelocity” : 0.75, "solver": "forceAtlas2Based" } 你的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多