我正在尝试使用cytoscape js绘制带有节点和边缘的图形。
边缘信息(会有很多边缘和节点):
边缘{ 编号:ab 资料来源: 目标:b attr1:5 attr2:3, }
节点信息:
节点{ 编号:a }
节点:{ 编号:b }
我需要根据attr1和attr2的范围隐藏边缘和节点。例如,用(attr1> 5)和(attr2> 7)隐藏边缘。
此外,当连接到该节点的所有边缘都被隐藏时,我需要隐藏该节点。
我试图根据edge属性设置可见性 http://js.cytoscape.org/#style/visibility
我的节点只有id属性,我只能隐藏满足选择条件的边,但是当连接的边被隐藏时,我不能隐藏节点。</ p>
{
selector: 'edge',
style: {
'width': 3,
display: function(ele) {
if (ele.data('attr1') >= coeValue && ele.data('attr2') >= pValue){
return 'element';
} else {
return 'none';
}
},
},
},
{
selector: 'node',
style: {
shape: this.state.nodeShape,
'background-color': function(ele) {
if (ele.data('foldChange') > 25) {
return "red";
} else {
return "green";
}
},
label: 'data(id)',
width: function(ele) {
return ele.data('foldChange');
},
height: function(ele) {
return ele.data('foldChange');
},
opacity: function(ele) {
TODO:
if all connected edge hidden:
return 0;
else
return 1
},
}
},
当所有连接的边都隐藏时,如何隐藏节点?请在代码的TODO部分给出一些提示