如果没有连接到节点OnClick,则淡出Sankey链接



我希望能够淡入单击该节点时在Sankey图中未连接到特定节点的所有链接。

       var link = svg.append("g").selectAll(".link")
           .data(energy.links)
           .enter().append("path")
           .attr("class", "link")
           .attr("d", path)
           .style("stroke-width", function(d) { return 16; })
           .style("stroke", function(d){return d.color;})
           .sort(function(a, b) { return b.dy - a.dy; });

结果应该是所有未连接的链接在单击节点时淡出。

我无法想到这样做所需的逻辑。

链接对象具有源和目标节点对象。如果您选择链接并根据您使用的节点匹配的ID符合点击节点的ID链接。例如,如果"名称"是唯一的ID,则

node.on("click", function(d) {
   link.style("opacity", function(l) {
      if (l.source.name == d.name || l.target.name == d.name) {
         return 1
      } else {
         return 0.1
      }
   })
})

最新更新