私はd3コードをv3からv4に移行しており、d3.zoom.x、d3.zoom.yプロパティに相当するものを見つけるのに問題があります。ここで d3v4 - zooming(d3.zoom.xと同等)
は最も重要な要素を含むコードの短い一部、です:I(x)は」zoom.xを置き換えるためにこれを使用しようとした this.init = function(obj, def) {
/* X-axis */
x = d3.scaleTime()
.range([0, width]);
xAxis = d3.axisBottom(x)
.ticks(ticks);
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")");
/* Y-axis */
for (var i = 0; i < 1; i++) {
// Returns the y and yAxis as arrays
createYAxis(i);
}
initZoom();
};
// Zoom trigger
var drawUpdXY = function(){
setPause(true);
drawUpd();
zoomY.y(y[0]);
zoomX.x(x);
zoom = d3.zoom()
.on("zoom", drawUpdXY);
zoomX = d3.zoom()
.on("zoom", drawUpdX);
zoomY = d3.zoom()
.on("zoom", drawUpdY);
};
; zoom.y(Y [0] ) "
xAxis.scale(d3.event.transform.rescaleX(x));
yAxis[0].scale(d3.event.transform.rescaleY(y[0]));
ただし、これらは軸を再スケールし、データは非zommedのままです。
これはかなり古いものですので、あなたが解決策を見つけましたか?私は同じ問題を抱えている。 – jmk
今日までの解決策が見つからない - v4のコミュニティがより大きくなるまで待つことにしました。 –
** _tl; dr:_リファクタリングを再構築したり、リンクを参照して、理由と方法を説明したり、その例を示したりするのに役立ちます。**同様のプロジェクトで、 d3v4とReactのズームグリッドシステム。途中で、私はこの[新しいズーム/パンの仕組みを説明する記事](http://emptypipes.org/2016/07/03/d3-panning-and-zooming/)を使用して、私がどのように私のリファクタを構造化したのか考え直す。そして、純粋なd3でこれを作成しました(https://codepen.io/mduleone/pen/wJxrbj)。まだリアクション側に取り組んでいます。 – mduleone