2012-04-23 8 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]); 

Come faccio a enumerare automaticamente il dominio dei dati senza digitare fuori per esempio, 0, 1, 2, 3 ho cercato domain(data), e domain([0, data.length]), ma ho bisogno di tutti i valori intermedi.Come si specifica il dominio in d3.scale.ordinal()?

risposta

11

Se si desidera che il dominio della scala ordinale sia l'indice dei dati, utilizzare d3.range. Ad esempio, d3.range(data.length) restituisce [0, 1, 2, 3, 4, 5].