2016-12-14 181 views
0

我正在使用vis.js @version 4.10.0。我有要求在边缘选择期间需要找到节点的位置。vis.js selectEdge并识别节点

我正在使用下面的代码来生成图。

var container = document.getElementById('mynetwork'); 
     var data = { 
     nodes: nodes, 
     edges: edges 
     }; 
     var directionInput = "UD"; 
     var options = { 
       layout:{randomSeed:6,improvedLayout:true}, 
     nodes: { 
      shape: 'circle', 
      shadow:true,width: 2, 
      size: 10, 
      "color": { 
      "background": "lightblue", 
      "border": "lightblue", 
      "highlight": "yellow" 
     }, 
     edges:{ 
      shadow: true, 
      arrows: 'to, from', 
      color: 'red', 
      font: '12px arial #ff0000', 
      scaling:{ 
       label: true, 
      } 
      }, 
     physics:{ 
    stabilization: true 
    }, 

      scaling:{ 
      label: { 
       min:12, 
       max:26 
      } 
      } 
     } 
     }; 
     network = new vis.Network(container, data, options); 

回答

0

第一步是调用网络上的'getSelectedEdges'方法来查找当前选中的边缘。然后,假设您的节点和边是DataSet的实例,您可以使用DataSet上的方法来查找有问题的边,然后找到您需要的节点ID(这假设实际上是试图找到'from '和'到'用于选定的边缘)。请参阅:http://visjs.org/docs/data/dataset.html以获取DataSet上方法的列表。

另一种选择(我使用的)是创建带有足够信息的id的边缘,以告诉你边缘端点上的节点是什么。例如,可以创建一个ID为'1_to_9'的边。在这种情况下,一旦你知道了edgeId,你就会立即知道涉及的节点端点是什么。