2013-07-08 45 views
0

我正在使用D3JS,並且我想要x中的一個座標軸以及這種值:125,250,500,1000 ...直到8000.因此,每次乘以2我的值。D3JS中的自定義軸功能

所以我嘗試了量化尺度,但軸不支持它。

我該怎麼做?我可以做一個自定義的數學函數,如y = mx + b(其中m = 2,我的情況和b = 0)並將其用於軸?

在這裏你可以看到我code

Podelo 
+0

你想要一個這樣做的實際比例還是隻是軸標籤? –

+0

一個比例更好,因爲我在x軸上的點必須遵循相同的邏輯 – Podelo

+0

然後,你必須實現你自己的比例。 –

回答

1

linear scale是非常靈活,如果你腫塊的範圍和領域多個值,從而創建一個polylinear規模:

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/

+0

非常感謝!我知道有一個技巧,但我不能完全控制範圍和其他的D3​​功能。 – Podelo