如何在 d3.scale.ordinal() 中指定域?

Posted

技术标签:

【中文标题】如何在 d3.scale.ordinal() 中指定域?【英文标题】:How do I specify domain in d3.scale.ordinal() ? 【发布时间】:2012-05-04 07:05:18 【问题描述】:
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]),但我需要它们之间的所有值。

【问题讨论】:

【参考方案1】:

如果您希望序数尺度的域作为数据的索引,请使用d3.range。例如,d3.range(data.length) 返回[0, 1, 2, 3, 4, 5]

【讨论】:

以上是关于如何在 d3.scale.ordinal() 中指定域?的主要内容,如果未能解决你的问题,请参考以下文章

d3.scaleBand 是如何工作的?

如何使用咖啡脚本使用`this`和`_this`(胖箭头)?

d3.js 需要在 y 轴上重复值

D3折线图中的x轴域问题

堆栈图中选择条的 X 和 Y 坐标

如何在 CodeNameOne 项目中指定 abiFilters?