我正在尝试在代码中使用缩放功能, 看起来像
var zoom = d3.zoom()
.extent([[dims.svg_dx,dims.svg_dy],[dims.width-(dims.svg_dx*2),dims.height-dims.svg_dy]])
.scaleExtent([1,5])
.translateExtent([[-dims.width-(dims.svg_dx*2),-(dims.height-dims.svg_dy)],dims.height-dims.svg_dy]])
.on("zoom",zoomed);
clip = svg.append("defs")
.append("clipPath")
.attr("id","clip")
.append("svg:rect")
.attr("x",0)
.attr("y",0)
.attr("width",width)
.attr("height",height);
chartBody = group.append("g")
.attr("class","chart")
.attr("clip-path","url(#clip)")
.append("g")
.call(zoom)
function zoomed() {
const event = d3.event.transform
var new_x_scale = d3.event.transform.rescaleX(copyX);
x = new_x_scale;
x.domain(new_x_scale.domain());
console.log(x.domain())
x_axis.call(x_ax.scale(x));
var new_y_scale = d3.event.transform.rescaleY(copyY);
d3.event.transform.x = Math.min(0,Math.max(d3.event.transform.x,dims.svg_dx - dims.svg_dx * d3.event.transform.k));
d3.event.transform.y = Math.min(0,Math.max(d3.event.transform.y,dims.svg_dy - dims.svg_dy * d3.event.transform.k));
chartBody.attr("transform",'translate('+d3.event.transform.x+',0) scale('+d3.event.transform.k+',1)')
} ;
在这里,我可以缩放x轴,但重新缩放不适用于该轴, 我正在使用d3 v4,
我要去哪里错了?