-1
私はポリゴンでレーダーチャートを持っています。今は、マウスオーバー時に色で塗りつぶしてもらいたいですが、マウスがその軌跡上にあるときだけです。マウスがポリゴンの内側にあるときは、塗りつぶしがありません。d3のパス上でマウスオーバーするだけです
は、これまでのところ、私は全体のポリゴンの上にいる時埋める
svg.selectAll('.polygon')
.data(scaledData)
.enter()
.append('svg:path')
.attr('d', radialLine)
.attr('stroke', function(d, i) {return colors(i);})
.attr('stroke-width', '3')
.attr('fill', 'none')
.on("mouseover", function(d) {
d3.select(this).style("fill", d3.select(this).attr('stroke')).attr('opacity', 0.3);
})
.on("mouseout", function(d) {
d3.select(this).style("fill", "none").attr('opacity', 1);
});
を試してみました。また、ストロークを同じにして、不透明度を変更しないようにしたいと思います。
すべてのヘルプは、ストロークの上にイベントをトリガし、opacity
の代わりにfill-opacity
を使用する属性pointer-events="visibleStroke"
を設定
はこの部分 (d3.select(この).ATTR( '発作')、 "塗りつぶし")あなたはおよそ d3.select(この).styleを話していたと思うが、これだけで私は取得しますポリゴンの右の色。 でも、ポリゴンの内部にいるときでも塗りつぶされています – maxze
3時間後にしか見えませんでした。実際にはポインタイベントではなく、ポインタイベントです。アー。 – ccprog