当您在 cytoscape JS 中删除节点时(使用cy.remove()
),连接到这些节点的边也会从图中删除。cy.remove() 的描述说它从图中删除元素并返回它们。但是,返回的数据不包括已删除的边。
因此,以下操作序列
removedData = cy.remove(someNodes); cy.add(removedData);
一定要修改图表,因为它们可能会导致一些边缘消失。
您应该如何在 Cytoscape JS 中执行可逆删除操作?
当您在 cytoscape JS 中删除节点时(使用cy.remove()
),连接到这些节点的边也会从图中删除。cy.remove() 的描述说它从图中删除元素并返回它们。但是,返回的数据不包括已删除的边。
因此,以下操作序列
removedData = cy.remove(someNodes); cy.add(removedData);
一定要修改图表,因为它们可能会导致一些边缘消失。
您应该如何在 Cytoscape JS 中执行可逆删除操作?
你可以明确地包括边缘:
removedData = cy.remove(someNodes.union(someNodes.connectedEdges()));
然后两者都removedData.restore()
将cy.add(removedData)
恢复节点和边。
使用 CytoscapeJS 2.5.4 我可以运行以下命令并删除和恢复连接的节点
removedData = cy.remove("#node2");
--pause--
removedDate.restore();