Как добавить мышь над зумом только для оси у, используя d3? - PullRequest
0 голосов
/ 23 октября 2018

Я нарисовал диаграмму, подобную brush и zoom , и я хочу добавить еще одно событие масштабирования для оси y (настоящее - это только масштабирование по оси x), когда мышь находится на оси y, и увеличьте масштаб

и я добавляю некоторый код, подобный следующему:

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(), ось у изменится при наведении мыши и увеличении / уменьшении, нографик не изменится.После того, как я добавлю это, все в порядке при увеличении, но это не может увеличить назад (просто застрял и страница прокручивается вниз).Как я могу решить эту проблему или есть лучшее решение для этого?

...