如何在cytoscape.js中重新加载图形?

时间:2013-08-22 22:36:03

标签: cytoscape.js

是否有一个函数可以将图重置为新加载的状态?我已经尝试过cy.reset(),但只是重置缩放和平移,而不是恢复到原始图形。

还有办法恢复所有删除的元素吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

使用相同的图表数据调用cy.elements().remove()cy.add()

答案 1 :(得分:0)

将您删除的元素保存在变量中,例如:

const elsRemoved = cy.elements().remove();

然后,为了恢复它们,只需调用:

elsRemoved.restore();

有关详细信息,请参阅https://js.cytoscape.org/#eles.restore

答案 2 :(得分:0)

使用数据(此处为从 Cytoscape 导出的 .cyjs 文件),通过函数加载到 Cytoscape.js,然后单击按钮重新绘制。

<head>
  <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
</head>

<body>
  <div id='cy'></div>

  <script>
  $.getJSON("ontology2.cyjs", function (data) {
    var cy = cytoscape({
      container: document.getElementById('cy'),
      elements: data.elements,
      // ...
      });

    // Reset graph:
    $('button.reset')
        .on("click", function() {
            cy.remove('node["*"]');
            cy.add(data.elements);
        });
    });
  </script>

  <button class="reset">Reset</button>
<body>

cytoscape.js reset button demo