处理动态添加节点的布局 (cytoscape.js)
Layout that handles adding nodes dynamically (cytoscape.js)
这是我正在做的一个例子:
function showNeighbors(ele) {
cy.add(this.cyData.getElementById(ele.id()).neighborhood());
cy.elements().layout(layoutOpts);
}
这是我能找到将新节点添加到布局的唯一原因。我想通过具有 .enter() 函数或某种方式将节点添加到当前布局来添加与 D3 类似的节点。这在 Cytoscape.js 中可行吗?
如果布局支持平滑过渡(如可乐),只需停止旧元素的布局并在整个图形(包括新元素)上开始新布局:layout.stop(); layout = cy.elements().makeLayout(...); layout.run();
http://js.cytoscape.org/#layouts/layout-manipulation
如果布局不支持平滑过渡,那么它仍然可以工作,但动画不一定是平滑的(例如,节点最初可能会跳跃)。
这是我正在做的一个例子:
function showNeighbors(ele) {
cy.add(this.cyData.getElementById(ele.id()).neighborhood());
cy.elements().layout(layoutOpts);
}
这是我能找到将新节点添加到布局的唯一原因。我想通过具有 .enter() 函数或某种方式将节点添加到当前布局来添加与 D3 类似的节点。这在 Cytoscape.js 中可行吗?
如果布局支持平滑过渡(如可乐),只需停止旧元素的布局并在整个图形(包括新元素)上开始新布局:layout.stop(); layout = cy.elements().makeLayout(...); layout.run();
http://js.cytoscape.org/#layouts/layout-manipulation
如果布局不支持平滑过渡,那么它仍然可以工作,但动画不一定是平滑的(例如,节点最初可能会跳跃)。