获取Sigma.js中渲染图的节点坐标

时间:2015-09-30 11:14:29

标签: data-visualization sigma.js

是否有可能在SigmaJS呈现图形之后得到图形节点的坐标?

x

我想获得此图中节点的真实坐标(y和{{1}} s)。 (在施加了力图集2之后)

1 个答案:

答案 0 :(得分:4)

您可以在某些事件上获取节点的真实坐标,例如“clickNode”和“事件。以下是获取节点点击事件的真实坐标的示例代码。



s.bind('clickNode', function(e) {
      console.log(e.data.captor);
      /* result : { x:-333,  y:-138,  clientX:363, clientY:262, ctrlKey:false,   isDragging:false, metaKey:false, shiftKey:false}  */
});




在论证中' e'通过 clickNode 函数传递,您可以获取绑定到特定节点的数据以及与画布上的click事件相关的数据。

修改

尝试使用外部json文件并使用sigma的外部json解析器 sigma.parsers.json.js 。这提供了一个回调函数工具,您可以在其中获取节点的所有实际坐标。找到以下代码。



/*include plugins/sigma.parsers.json/sigma.parsers.json.js */
sigma.parsers.json('yourjsonfile.json', {
    container: 'sigma-container',
    type: 'canvas'
  },    
  function(s){       
    s.graph.nodes().forEach(function(s) {
    console.log(s); //result: "read_cam0:x" => x-coordinate ,"read_cam0:y" => y-coordinate      
  });}
);




与事件类似,在回调中,您可以获取有关画布上节点的数据以及绑定到节点的数据。