1
以下は、D3を使用して円を描き、マウスオーバーで拡大縮小するコードです。それは何をすべきかを行いますが、円の尺度を意味し、別の場所にジャンプ(翻訳)することを意味する別の場所に高さを取ります。私はそれの原因を察知することはできません。SVG円の要素がスケール変換でジャンプする
this.node = this.chartLayer.append("g")
.attr("class", "nodes")
.selectAll("circle")
.data(data.nodes)
.enter().append("circle")
.attr("r", 10)
.attr("fill", (d) => { return this.colors(d.group); })
.on('mouseover', function(d) {
d3.select(this).attr('transform', 'scale(' + 2 + ')');
})
偉大な回答@ヘラルド・ファータド。私は半径のソリューションが好きですが、マウスオーバー時に半径にスケールファクタを適用し、マウスアウトで通常に戻る方法がありますか? – cpz
私はマウスオーバーノードとその半径を追跡し、戻って戻ってきた値を使用しなければならないと思います。 – cpz
「スケール」の問題を示すために、この回答を書いています。強制指示グラフがある場合は、データムまたはハードコードされた値に基づいて半径を変更するだけです。編集を確認してください。 –