我希望能够淡入单击该节点时在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
}
})
})