【发布时间】:2020-01-19 02:59:02
【问题描述】:
我正在尝试构建一个仅在 X 轴上缩放但允许在两个轴上平移的 d3js 图表。下面的例子有我想要的效果:
https://jsfiddle.net/xpr364uo/
但是,我无法将其转换为我自己的代码。一方面,我正在渲染到画布,所以我无法在某些元素上设置“转换”属性。据我了解,我的缩放在比例的副本上使用 rescaleX/rescaleY,就像通过 d3-zoom 进行缩放的“新方法”一样:
const zoomBehavior = zoom().on('zoom', () => {
const xDomain = event.transform.rescaleX(x2).domain();
const yDomain = event.transform.rescaleY(y2).domain();
xScale.domain(xDomain);
yScale.domain(yDomain);
render();
});
这适用于在两个轴上缩放/平移。如何修改它以获得与小提琴相同的效果?在我的代码中,我应该如何处理 deltaPanY(来自小提琴)?
【问题讨论】:
标签: d3.js