0
こんにちは、Stackoverflowcommunity! 私はd3forceのグラフをd3forceで動かすことに問題があります。私はそれがズームとパンであることを達成することができましたが、そうすることでノードとリンクの間のアライメントが崩れ、どのように修正できるか分かりません....私は何を意味するのかを示すフィドルを作成しました。 https://jsfiddle.net/5jgrf5h8/5/div3とd3ズームを持つd3力グラフ
これは私がズームを行うコードです:
svg.call(d3.zoom()
//.scaleExtent([1/2, 4])
.on("zoom", zoomed))
.on("dblclick.zoom", null);
//.on("wheel.zoom", null);
function zoomed() {
//link.attr("transform", d3.event.transform);
link.attr("transform", "translate(" + d3.event.transform.x + "," + d3.event.transform.y + ") scale(" + d3.event.transform.k + ")");
node.style("transform", "translate(" + d3.event.transform.x + "px," + d3.event.transform.y + "px) scale(" + d3.event.transform.k + ")");
simulation.alphaTarget(0.001).restart();
simulation.alphaTarget(0);
}
ハイマーク!ご協力いただきありがとうございます!私はそれが改善されたことを見ることができますが、それはまだ整列を破ると、特にあなたがズームしている間、ノードをドラッグするときに、彼らはまだ変な動作をズームアウトするときには完璧ではありません。これを改善する方法がありますか? –
私は今それを得た。代わりにすべてのノードを変換し、リンクiは親要素を変換し、divs iは変換元を0pxに設定します。私は自分のフィドルを更新しましたhttps://jsfiddle.net/5jgrf5h8/7/ –