Javascript 示例显示D3JS中线性和对数比例之间的动画转换?

Javascript 示例显示D3JS中线性和对数比例之间的动画转换?,javascript,d3.js,Javascript,D3.js,我很确定,如果我能找到一个例子来说明我正在尝试做什么,我可以逆向工程/重新实现它。有人看过D3JS中显示线性和对数比例之间平滑/动画过渡的示例吗 我有两个秤独立工作,但我必须重新加载页面以更改秤 我的谷歌技能让我失望 非常感谢。这是一个概念证明。您只需重新选择数据点并使用新比例重新绘制它们。对于axis标签,转换更简单——只需再次调用axis函数。相关摘录如下 // change to log scale... yScale = d3.scale.log().domain([1, 100]).r

我很确定,如果我能找到一个例子来说明我正在尝试做什么,我可以逆向工程/重新实现它。有人看过D3JS中显示线性和对数比例之间平滑/动画过渡的示例吗

我有两个秤独立工作,但我必须重新加载页面以更改秤

我的谷歌技能让我失望

非常感谢。

这是一个概念证明。您只需重新选择数据点并使用新比例重新绘制它们。对于axis标签,转换更简单——只需再次调用axis函数。相关摘录如下

// change to log scale...
yScale = d3.scale.log().domain([1, 100]).range([dim-padding,padding]);

svg.selectAll("circle").data(data)
   .transition().delay(1000).duration(1000)
   .attr("cx", function(d) { return xScale(d); })
   .attr("cy", function(d) { return yScale(d); });

svg.selectAll(".y")
   .transition().delay(1000).duration(1000)
   .call(yAxis.scale(yScale));

您可能需要研究如何生成标签以使其看起来“漂亮”,但原则上d3将负责整个转换。

为什么不逐步将函数
f(x)=t*x^(1/t)
应用于
t
范围从
0(+epsilon)
1
。。。应该在对数和线性之间插值。log函数就是上面的函数,限制为零。我不知道如何在不刷新页面的情况下实际更改比例。原则上,我想我可以使用这个函数来定义一个比例,但是我该如何重新生成比例以及它们之间的转换呢?非常感谢!你搞定了!我不知道为什么我认为我根本不需要修改数据,但现在这是有道理的。