D3.js 按下按钮,将D3刻度从线性变为功率

D3.js 按下按钮,将D3刻度从线性变为功率,d3.js,D3.js,我试着通过按下一个按钮,从线性刻度动态切换到功率刻度。我的设置如下所示: <button id="scaling">Switch from linear to quadratic scale</button> 以及按钮的事件处理程序: d3.select("#scaling").on("click", function() { xScale = d3.scale.pow().exponent(2); // <-- this doesn't work!

我试着通过按下一个按钮,从线性刻度动态切换到功率刻度。我的设置如下所示:

<button id="scaling">Switch from linear to quadratic scale</button>
以及按钮的事件处理程序:

d3.select("#scaling").on("click", function() {
    xScale = d3.scale.pow().exponent(2); // <-- this doesn't work!
    vis.select('.xaxis').transition().call(xAxis);
});
d3.选择(#缩放”)。点击(“点击”,函数(){

xScale=d3.scale.pow().exponent(2);//您需要将新比例分配给轴。您还应该为新比例设置域/范围:

xScale = d3.scale.pow().exponent(2)
    .domain([0, 10])
    .range([50, 350]);
vis.select('.xaxis').transition().call(xAxis.scale(xScale));
完成演示

xScale = d3.scale.pow().exponent(2)
    .domain([0, 10])
    .range([50, 350]);
vis.select('.xaxis').transition().call(xAxis.scale(xScale));