根据group-visjs改变物理

时间:2017-07-13 15:36:37

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

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

example

我希望这个例子有助于可视化问题。 (由于敏感信息,不得不将标签涂黑)

我如何在vis.js中完成此任务?

1 个答案:

答案 0 :(得分:2)

//

嗨Json。

请参阅附带的代码段。 希望它可以帮助你。

// 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>

相关问题