How do I specify domain in d3.scale.ordinal() ?

青春壹個敷衍的年華 提交于 2020-01-02 02:43:08

问题


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]);

How do I automatically enumerate the domain of data without typing it out e.g., 0, 1, 2, 3 I have tried domain(data), and domain([0, data.length]), but I need all the values in between.


回答1:


If you want the domain of the ordinal scale to be the indexes of your data, then use d3.range. For example, d3.range(data.length) returns [0, 1, 2, 3, 4, 5].



来源:https://stackoverflow.com/questions/10284453/how-do-i-specify-domain-in-d3-scale-ordinal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!