如何使用Visjs获取可见节点

问题描述 投票:0回答:1

我有使用vis-network创建的大型网络:

full network

单击节点时,我创建集群。例如,如果我单击2个绿色框,则结果为:

network with clusters

在这个新视图中,我有两个常规节点(“程序#3289”和“任务#7300”)以及两个包含子节点的群集(“项目#3415”和“项目#3416”)。

如果使用dataset.get(),它将返回我所有的106个初始节点。如果我使用network.body.nodes,它将返回我所有的106个初始节点+两个集群。

我想要的:一种仅获取网络中可见节点的方法。在那种情况下,我应该只获得2个常规节点和2个集群。

我是否错过了允许这样做的功能?

谢谢

vis.js
1个回答
0
投票

我终于想出了以下解决方案:

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)
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.