我有使用vis-network
创建的大型网络:
单击节点时,我创建集群。例如,如果我单击2个绿色框,则结果为:
在这个新视图中,我有两个常规节点(“程序#3289”和“任务#7300”)以及两个包含子节点的群集(“项目#3415”和“项目#3416”)。
如果使用dataset.get()
,它将返回我所有的106个初始节点。如果我使用network.body.nodes
,它将返回我所有的106个初始节点+两个集群。
我想要的:一种仅获取网络中可见节点的方法。在那种情况下,我应该只获得2个常规节点和2个集群。
我是否错过了允许这样做的功能?
谢谢
我终于想出了以下解决方案:
var visibleNodes = [];
for (var nodeId in visNetwork.body.nodes) {
// we check if the node is inside a cluster
if (!visNetwork.clustering.clusteredNodes[nodeId]) {
visibleNodes.push(nodeId)
}
}