マウスホイールを使用してユーザーがスクロールしたりズームアウトしたりするときにズームの速度を調整できますか?D3でズームイン/ズームアウトするときの変換速度とスケールの変更方法(zoom.on&d3.event.translate、d3.event.zoomを使用)?
私の理解がzoom.on(https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-on)リスナーは、2つのイベントが& d3.event.zoomをd3.event.translate生成行列を含有するか、変換またはスケール関数に渡されたとき、パンニング可能にすること座標とすることですグラフィックの再スケーリング。
しかし、私はどのようにこれをスピードアップするので、ユーザーがマウスホイールを少し動かすと、彼女は急速にズームインまたはズームアウトします。私は大きな視覚化をして、ユーザーがマウスホイールを使って素早くズームイン/ズームアウトできるようにしたいと考えています。上記の既存のイベントや関数の引数を単に変更/追加することはできますか?自分で作成する必要はありますか?私は上記のうちのいくつかが理解の点で不正確であるという感情を持っているので、もしそうなら説明してください。
ここで非常に簡単なjsfiddle例:http://jsfiddle.net/fiddler86/6jJe6/、以下同じコードで:
var svg = d3.select("body").append("svg:svg")
.attr("width", 1000)
.attr("height", 2000)
.append("svg:g")
.call(d3.behavior.zoom().on("zoom", redraw))
.append("svg:g");
svg.append("svg:rect")
.attr("width", 200)
.attr("height", 300)
.attr("fill", 'green');
function redraw() {
svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
};
これを把握しましたか? – kishanio
@kishanio解決策を提案しました –