如何在d3.scale.ordinal()中指定domain? [英] How do I specify domain in d3.scale.ordinal() ?
本文介绍了如何在d3.scale.ordinal()中指定domain?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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])
,但我需要之间的所有值。
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.
推荐答案
如果你想要的顺序量表的域是数据,然后使用 d3.range 。例如, d3.range(data.length)
返回 [0,1,2,3,4,5]
。
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]
.
这篇关于如何在d3.scale.ordinal()中指定domain?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文