如何放大cytoscape中的选定节点

时间:2018-09-10 10:36:17

标签: javascript graph cytoscape.js flowchart

我是javascript和cytoscape的新手。 我想生成一个图,(仍然是硬编码的)

  1. 现在我需要缩放一个单击的节点。
  2. 也可以在单击节点时显示另一个图

感谢您的帮助

谢谢

1 个答案:

答案 0 :(得分:1)

您可以像这样将节点上的click事件绑定到cytoscape:

cy.bind('click ', 'node', function (evt) {
    var pos = cy.nodes("[id = " + evt.target.data().id + "]").position();
    cy.zoom({                       // Zoom to the specified position
      level: yourLevel,             // 0 <= yourLevel, maybe try out 1,2,3,4... and see what fits
      position: pos
    });
});

要显示另一个图,只需执行相同的绑定函数,然后将元素添加到空图即可。

cy.bind('click', 'node', function (evt) {
    cy.remove(cy.elements());                 // remove elements and reset graph
    cy.reset();                               // graph is empty now
    cy.add(yourElements);                     // add new elements
    cy.elements().layout(yourLayout).run();   // give them a layout
});

最后,您可能想对拥有的绑定进行cy.unbind()并再次进行绑定,以确保您不会多次调用这些绑定。

亲切的问候!