2016-01-21 94 views
2

我在d3.js中生成了一些圖表。我使用下面的代碼來計算放置在我的y軸上的值,它的作用就像一個魅力。d3.js nice()後面的邏輯是什麼

var s = d3.scale.linear().domain([minValue, maxValue]); 
var ticks = s.nice().ticks(numberOfPoints); 

但是我現在必須使用pycairo編寫python代碼,它會在服務器端生成d3.js圖表​​的克隆。

我的問題是有人知道在上面的代碼中使用的邏輯,或者可以給出類似結果的東西,以便我可以複製它在python中獲得很好的值在我的y軸中使用?

回答

5

D3是開源的,所以你可以look up the implementation。它基本上可以歸結爲四捨五入的極端值:

domain[i0] = nice.floor(x0); 
domain[i1] = nice.ceil(x1); 
+2

這是我已經包括在回答相關代碼死鏈接 – Ubiquitous

+0

。 –

+0

更新鏈接:https://github.com/d3/d3-scale/blob/master/src/nice.js – ijse