我希望能够在单击该节点时淡出未连接到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; });
结果应该是单击节点时所有未连接的链接都会消失。
我无法想到执行此操作所需的逻辑。
答案 0 :(得分:0)
链接对象具有源节点对象和目标节点对象。如果您选择所有链接并根据您使用节点的ID是否与单击的节点匹配来设置其不透明度。例如,如果' name'是唯一的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
}
})
})