Javascript D3.js:如何通过两个轴平移,但仅通过一个轴缩放?
这不是一个重复的问题, 当前d3版本没有更多的函数zoom().x() 我试图通过x和y进行平移,但仅通过y进行缩放。 完全不知道如何实现它。目前我有这个版本,在两个轴上平移,它很好,但也在两个轴上缩放,我需要限制x缩放 谢谢你的帮助Javascript D3.js:如何通过两个轴平移,但仅通过一个轴缩放?,javascript,d3.js,Javascript,D3.js,这不是一个重复的问题, 当前d3版本没有更多的函数zoom().x() 我试图通过x和y进行平移,但仅通过y进行缩放。 完全不知道如何实现它。目前我有这个版本,在两个轴上平移,它很好,但也在两个轴上缩放,我需要限制x缩放 谢谢你的帮助 this.zoom = d3.zoom() .scaleExtent([0.01, 9000]) .translateExtent([[-100, -100], [100, 100]])
this.zoom = d3.zoom()
.scaleExtent([0.01, 9000])
.translateExtent([[-100, -100], [100, 100]])
.extent([[0,0], [500, 500]])
.on("zoom", this.zoomed.bind(this))
zoomed() {
this.yScale = d3.scaleLinear()
.domain([0, 1000])
.range([0, 100]);
this.xScale = d3.scaleLinear()
.domain([-20, 2000])
.range([0, 100]);
this.yScale.domain(zoomTransform.rescaleY(this.yScale).domain());
this.xScale.domain(zoomTransform.rescaleX(this.xScale).domain());
}
@i的可能重复它不是重复的,问题是关于d3 v3,它有zoom().x()函数,v4没有itFYI-d3的当前版本是v5.:)@它包含了我的问题的决定吗?看,这基本上是d3 zoom功能上的一个巨大差距。有几种方法可以解决这个问题,但这种d3 zoom替代品的下降似乎是合理的: