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