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

¿Cómo enumerar de forma automática el dominio de los datos sin tener que escribir a cabo, por ejemplo, 0, 1, 2, 3 me han tratado domain(data) y domain([0, data.length]), pero necesito todos los valores en el medio.¿Cómo especifico el dominio en d3.scale.ordinal()?

Respuesta

11

Si desea que el dominio de la escala ordinal de ser los índices de sus datos, a continuación, utilizar d3.range. Por ejemplo, d3.range(data.length) devuelve [0, 1, 2, 3, 4, 5].

Cuestiones relacionadas