如何使用d3在y轴上仅放大鼠标?

时间:2018-10-23 09:28:54

标签: javascript d3.js zoom svgpanzoom

我已经绘制了一个brush and zoom之类的图表 并且我想在鼠标位于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轴会改变,但是图形不会改变。添加完之后,放大时可以,但无法放大(卡住并且页面向下滚动)。 我该如何解决此问题,或者有更好的解决方案?

0 个答案:

没有答案