我正在尝试显示用户包含所选节点的断开连接的有向图的特定子图。所有的父母,父母的父母......和孩子,孩子的孩子,直到根和叶子。我需要隐藏图表的其余部分。
非常感谢任何帮助。
答案 0 :(得分:0)
正如@aksam建议的那样:
var selectedNode = cy.$('node:selected');
var visitedArr = [ selectedNode ];
cy.elements().bfs({ // or dfs
roots: selectedNode,
visit: function(i, depth, v, e, u){
visitedArr.push( v );
},
directed: false // or your preference
});
var subgraph = cy.collection( visitedArr );
cy.batch(function(){
cy.elements().not( subgraph ).addClass('hidden');
subgraph.removeClass('hidden');
});
答案 1 :(得分:0)
maxkfranz回答给我错误。
根据他的回答,这为我提供了正确的解决方案:
var selectedNode = cy.$('node:selected');
var visitedArr = [ selectedNode ];
cy.elements().bfs({ // or dfs
roots: selectedNode,
visit: function(v, e, u, i, depth){
visitedArr.push( v );
},
directed: false // or your preference
});
var subgraph = cy.collection( visitedArr );
cy.batch(function(){
cy.nodes().hide();
subgraph.show();
});