我試圖在Mike Bostock's v4 example和v3 example with mouseover events之後製作D3和絃圖。D3 v4中的鼠標懸停事件和絃圖
在上面的第3版範例,有淡入淡出功能,突出特定ribbbons的mouseover'd組:
function fade(opacity) {
return function(d, i) {
svg.selectAll("ribbons")
.filter(function(d) {
return d.source.index != i && d.target.index != i;
})
.transition()
.style("opacity", opacity);
};
}
雖然我的生活,我不能讓它在我的V4例如工作儘管試圖把它放在一個類似點:
//Draw the ribbons that go from group to group
g.append("g")
.attr("class", "ribbons")
.selectAll("path")
.data(function(chords) { return chords; })
.enter().append("path")
.attr("d", ribbon)
.style("fill", function(d) { return color(d.target.index); })
.style("stroke", function(d) { return d3.rgb(color(d.target.index)).darker(); })
.on("mouseover", fade(.1)) /* Where attempt at mouseover is made */
.on("mouseout", fade(1));
.append("title").
text(function(d){return chordTip(d);})
這裏是我嘗試的的jsfiddle(有工作提示,但非工作褪色鼠標懸停):https://jsfiddle.net/wcat76y1/3/
我相信我的錯誤與我如何分離變量有關,但我不確定具體到哪裏出錯。
有趣。你的意思是第2部分不適合你的情況或者我發佈的小提琴?因爲如果後者它似乎仍然適合我。無論哪種方式,感謝您的額外信息! –
第2部分在我的本地文件中不適用於我,但在小提琴中工作。真奇怪 – HenryLau