0

我正在使用 D3JS,我想要一个具有这种值的 x 轴:125、250、500、1000 ... 直到 8000。所以每次乘以 2 我的值。

所以我尝试了 Quantize Scales 但轴不支持它。

我怎样才能做到这一点 ?我可以做一个自定义数学函数,如 y = mx + b(在我的情况下 m = 2,b = 0)并在轴上使用它吗?

在这里你可以看到我的代码

Podelo
4

1 回答 1

2

如果您将范围和域的多个值集中起来以创建多线性比例,则线性比例非常灵活:

tickWidth = (ChartWidth - padding)/7
xScale = d3.scale.linear()
           .domain([0, 125, 250, 500, 1000, 2000, 4000, 8000])
           .range(d3.range(8).map(function(d){ return d*tickWidth; }));

http://jsfiddle.net/h2juD/6/

于 2013-07-08T21:02:19.307 回答