Cytoscape.js 从 dagre 布局获取节点位置
Cytoscape.js get node position from dagre layout
为了使之字形像边缘一样,我需要进行一些计算,为此我需要每个节点在布局上的位置,但我在实现这一点时遇到了一些困难。
我正在尝试通过这种方式获取节点的位置:
cy.$('#1891').position()
但无论我使用哪个 id
,我总是得到 {x: 0, y: 0}
个值。
当我添加这样的事件时:
cy.on('mouseover', 'node', function(evt){
var node = evt.target;
console.log(node.position());
});
我得到每个节点的位置。
从 dagre
布局中获取每个节点位置的正确方法是什么?
我找到了解决方案。
这是我犯的一个愚蠢的错误。我试图在应用布局之前获取节点的位置。将 cy.$('#1891').position();
放在 layout.run();
之后就可以了。
为了使之字形像边缘一样,我需要进行一些计算,为此我需要每个节点在布局上的位置,但我在实现这一点时遇到了一些困难。
我正在尝试通过这种方式获取节点的位置:
cy.$('#1891').position()
但无论我使用哪个 id
,我总是得到 {x: 0, y: 0}
个值。
当我添加这样的事件时:
cy.on('mouseover', 'node', function(evt){
var node = evt.target;
console.log(node.position());
});
我得到每个节点的位置。
从 dagre
布局中获取每个节点位置的正确方法是什么?
我找到了解决方案。
这是我犯的一个愚蠢的错误。我试图在应用布局之前获取节点的位置。将 cy.$('#1891').position();
放在 layout.run();
之后就可以了。