在力导向图上过滤节点时,在图的边缘添加标签

时间:2019-11-07 12:59:41

标签: javascript d3.js design-patterns graph filter

我构建了一个网络图,您可以在其中单击按钮来过滤节点(这意味着它会根据组及其引用的边来取出一些节点)。我设法在图中标记了节点,目前还没有找到向边缘添加标签的解决方案。问题:我无法使用路径的直接生成器,因为它也需要通过单击按钮进行更新(因为某些边缘也会消失)。因此,我仍然需要在边缘同时添加路径和标签。

我尝试使用与节点相同的逻辑,但是没有奏效。为了提供更多细节,我定义了一个新变量,该变量将在更新过程中调用。但是,它仅创建类,但其中没有属性。

我尝试根据http://bl.ocks.org/jhb/5955887的逻辑在边缘添加标签

//UPDATE
path = path.data(graph.links1, function (d) { return d.id; });
//  EXIT
        path.exit()
            .remove();
        //  ENTER
        newPath = path.enter()
            .append("path")
            .attr({
                'd': function (d) { return 'M ' + d.source.x + ' ' + d.source.y + ' L ' + d.target.x + ' ' + d.target.y },
                'class': 'path',
                'fill-opacity': 0,
                'stroke-opacity': 0,
                'fill': 'blue',
                'stroke': 'red',
                'id': function (d) { return d.names }
            });
            //.style("pointer-events", "none");
            console.log(path)

        path = path.merge(newPath);

它应该添加一个具有相应属性的路径对象。

0 个答案:

没有答案