2014-05-15 47 views
2

給定的值d3.js:獲得刻度值的輸入域之外的程度

var values = [245, 483, 498, 597, 726, 788, 799, 974]; 

我想刻度值即「環繞」的values域範圍的列表:

// [200, 300, 400, 500, 600, 700, 800, 900, 1000] 

使用下面的這個意圖不工作:

var scale = d3.scale.linear().domain(d3.extent(values)); 
var ticks = scale.ticks(9); 
// [300, 400, 500, 600, 700, 800, 900] == ticks 

這並不奇怪,因爲在D3.js參考說:

返回的刻度值保證在輸入域的範圍內 。

回答

1

使用.nice()

var values = [245, 483, 498, 597, 726, 788, 799, 974]; 
var scale = d3.scale.linear().domain(d3.extent(values)).nice(); 
var ticks = scale.ticks(9);