是否有可能在SigmaJS呈现图形之后得到图形节点的坐标?
x
我想获得此图中节点的真实坐标(y
和{{1}} s)。
(在施加了力图集2之后)
答案 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
});}
);

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