CytoscapeJS - 显示节点邻域?
CytoscapeJS - show node neighborhood?
我有一个 JSON 格式的数据集,其中包含有关我用于在 cytoscapeJS 中生成网络图的节点和边的信息。 JSON 数据包含 nodes 的 id、value、shape、color 和 visibleDisplay('element' 或 'none')属性以及 id、source、target 和边 的标签。当 cy 容器首次初始化时,我的样式表使用 'visibleDisplay' 属性 来根据需要显示/隐藏节点。
我想允许用户使用 "Show neighbourhood" 选项取消隐藏节点。我修改了我的旧代码以使用集合,但它仍然不起作用:
function showNeighbourhood() {
var eleID;
var neighbourArray= new Array();
var neighbours= cy.collection(); // collection
cy.nodes().forEach(function( ele ) {
if(ele.selected()) { // get the currently selected node.
eleID= ele.id();
}
});
// Find its connected neighbours.
cy.edges().forEach(function( edg ) {
if(edg.data('source') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('target');
}
else if(edg.data('target') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('source');
}
});
// Add the array to the collection.
neighbours.add(neighbourArray);
// Show neighbourhood, using the collection.
neighbours.show();
}
关于如何使这项工作有什么建议吗?
我不能在集合上使用 show() 方法使所需的节点可见吗?
您只需使用 node.neighborhood()
,例如cy.$(':selected').neighborhood().removeClass('hidden')
.
我有一个 JSON 格式的数据集,其中包含有关我用于在 cytoscapeJS 中生成网络图的节点和边的信息。 JSON 数据包含 nodes 的 id、value、shape、color 和 visibleDisplay('element' 或 'none')属性以及 id、source、target 和边 的标签。当 cy 容器首次初始化时,我的样式表使用 'visibleDisplay' 属性 来根据需要显示/隐藏节点。
我想允许用户使用 "Show neighbourhood" 选项取消隐藏节点。我修改了我的旧代码以使用集合,但它仍然不起作用:
function showNeighbourhood() {
var eleID;
var neighbourArray= new Array();
var neighbours= cy.collection(); // collection
cy.nodes().forEach(function( ele ) {
if(ele.selected()) { // get the currently selected node.
eleID= ele.id();
}
});
// Find its connected neighbours.
cy.edges().forEach(function( edg ) {
if(edg.data('source') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('target');
}
else if(edg.data('target') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('source');
}
});
// Add the array to the collection.
neighbours.add(neighbourArray);
// Show neighbourhood, using the collection.
neighbours.show();
}
关于如何使这项工作有什么建议吗? 我不能在集合上使用 show() 方法使所需的节点可见吗?
您只需使用 node.neighborhood()
,例如cy.$(':selected').neighborhood().removeClass('hidden')
.