2012-04-23 4 views
7
var W = 100; 
var H = 200; 

var data = [{v:4}, {v:8}, {v:15}, {v:16}, {v:23}, {v:42}]; 

var x = d3.scale.linear().domain([0, max_x]).range([0, W]); 
var y = d3.scale.ordinal().domain([0, 1, 2, 3, 4, 5]).rangeBands([0, H]); 

どのように私は、自動的に、例えばそれを入力することなく、データのドメインを列挙しない、0、1、2、3 私はdomain(data)を試みたが、domain([0, data.length])が、私はその間のすべての値を必要としています。d3.scale.ordinal()でdomainを指定するにはどうすればよいですか?

答えて

11

序数のスケールをデータのインデックスにする場合は、d3.rangeを使用します。たとえば、d3.range(data.length)[0, 1, 2, 3, 4, 5]を返します。

関連する問題