如何在d3.scale.ordinal()中指定domain? [英] How do I specify domain in d3.scale.ordinal() ?

查看:842
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆