Cytoscape.js从dagre layout

时间:2017-07-19 15:16:08

标签: cytoscape.js dagre

为了制作像边缘一样的锯齿形,我需要进行一些计算,为此我需要每个节点在布局上的位置,我在实现它时遇到了一些麻烦。

我试图以这种方式获得节点的位置:

cy.$('#1891').position()

但无论我使用哪个id,我总是会得到{x: 0, y: 0}个值。

当我添加这样的事件时:

cy.on('mouseover', 'node', function(evt){
    var node = evt.target;
    console.log(node.position());
});

我得到每个节点的位置。

dagre布局获取每个节点位置的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

我找到了解决方案。

这是一个愚蠢的错误。我试图在应用布局之前获取节点的位置。将cy.$('#1891').position();放在layout.run();之后就可以了。