Javascript D3.js:如何通过两个轴平移,但仅通过一个轴缩放?

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]])

这不是一个重复的问题, 当前d3版本没有更多的函数zoom().x()

我试图通过x和y进行平移,但仅通过y进行缩放。 完全不知道如何实现它。目前我有这个版本,在两个轴上平移,它很好,但也在两个轴上缩放,我需要限制x缩放

谢谢你的帮助

 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替代品的下降似乎是合理的: