私は d3js の初心者なので、私の質問がばかげているように見える場合は、しばらくお待ちください。
Mike Bostock が提案したようなコード グラフを再現しようとしています。Bostock のコードでは、円弧上にマウスを移動すると、円弧に含まれていないすべての和音 ( targetおよびsourceとして) がフェードします。
マウスがあるコードを除いてすべてのコードがフェードするように変更したいと思います (単一の双方向関係を強調するため)。
fade_single
マウスが和音の上にあるときにトリガーされる関数を追加しました。
svg.append("g")
.attr("class", "chord")
.selectAll("path")
.data(chord.chords)
.enter().append("path")
.style("fill", function(d) { return fill(d.target.index); })
.attr("d", d3.svg.chord().radius(r0))
.style("opacity", 1)
.on("mouseover", fade_single(0.1))
.on("mouseout", fade_single(1));
関数は次のfade_single
とおりです。
function fade_single(opacity) {
return function(g, i) {
svg.selectAll("g.chord path")
.filter(function(d) {
//return d.source.index != 0 && d.target.index != 0;
})
.transition()
.style("opacity", opacity);
};
}
問題は、コメント行に何を入力すればよいかわからないことです。つまり、単一のコードの行と列を持たないすべての関係を除外することです。サブインデックスで遊んでみましたが、パラメーターi
は行のみを提供するため、フェードから除外したいコードを分離する方法がわかりません。
何か案が?ヒントはありますか?
ありがとうございました、
エリサ