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