다음 d3 / d3fc 차트가 있습니다
https://codepen.io/parliament718/pen/BaNQPXx
차트에는 주 영역에 대한 확대 / 축소 동작과 y 축에 대한 별도의 확대 / 축소 동작이 있습니다. y 축을 드래그하여 크기를 조정할 수 있습니다.
내가 해결하는 데 문제가있는 문제는 y 축을 드래그하여 크기를 조정 한 다음 차트를 패닝 한 후 차트에 "점프"가 있다는 것입니다.
분명히 2 개의 줌 동작에는 연결이 끊어지고 동기화해야하지만이 문제를 해결하려고 내 두뇌를 쌓고 있습니다.
const mainZoom = zoom()
.on('zoom', () => {
xScale.domain(t.rescaleX(x2).domain());
yScale.domain(t.rescaleY(y2).domain());
});
const yAxisZoom = zoom()
.on('zoom', () => {
const t = event.transform;
yScale.domain(t.rescaleY(y2).domain());
render();
});
const yAxisDrag = drag()
.on('drag', (args) => {
const factor = Math.pow(2, -event.dy * 0.01);
plotArea.call(yAxisZoom.scaleBy, factor);
});
원하는 동작은 축을 확대 / 축소, 이동 및 / 또는 재조정하여 "점프"없이 이전 작업이 완료된 위치에서 항상 변형을 적용하는 것입니다.