过滤 vis.js 中断开连接的节点

Filtering disconnected nodes in vis.js

我有一个由包含我的节点和边的数据集支持的网络。边缘是加权的,我想添加隐藏低于某个阈值的边缘及其对应节点的功能。我可以使用 DataView 轻松过滤边缘,但想知道如何找到不再具有与其关联的边缘的节点并将它们隐藏起来。有什么提示吗?

一种方法是遍历节点,对于每个节点,遍历所有边以查看是否至少有一条边具有该节点的 id 因为它是 fromto 属性.

我实际上想出了一个巧妙的方法来做到这一点。如上所述更新 edgeView 后,我这样做:

    nodeView = new vis.DataView(nodes, {
        filter: function(node) {
            connEdges = edgeView.get({
                filter: function(edge) {
                    return(
                        (edge.to == node.id) || (edge.from == node.id));
                }});
            return connEdges.length > 0;
        }
    });

很有魅力。