0

ブラシとズームのようなグラフを描画しました が、マウスが y 軸上にありズームインしているときに、y 軸に別のズームイベントを追加します (現在は x 軸のズームのみです)。

そして、次のようなコードを追加します。

var zoomY = d3.zoom()
    .scaleExtent([1, Infinity])
    .translateExtent([[0, 0], [width, height]])
    .extent([[0, 0], [width, height]])
    .on("zoom", zoomedY);

 function zoomedY(){
   focus.select(".axis--y")
     .call(yAxis.scale(d3.event.transform.rescaleY(y)));
  //
  y.domain(d3.event.transform.rescaleY(y).domain());

 };

focus.select(".axis--y").call(zoomY);

そして、d3.event.transform.rescaleY(yChart).domain()マウスをオンにしてズームイン/アウトするとy軸が変化しますが、グラフは変化しません。これを追加した後、ズームインしても問題ありませんが、ズームバックできません(スタックしてページが下にスクロールします)。この問題を解決するにはどうすればよいですか、またはこれを行うためのより良い解決策はありますか?

4

0 に答える 0