D3.JS - 在DateS和之间生成一系列日期;日期

时间:2013-07-28 11:21:24

标签: javascript date d3.js range scale

我需要在我的应用程序中生成一个比例,例如,01/01/2001 - 30/11/2001之间的日期。

我需要能够将一个int(1-10之间)传递给比例并返回一个日期。

我假设D3.JS可以这样做,因为它可以生成轴的日期比例没问题。

我试过了:

myDateScale = d3.scale.linear()
            .domain([1,10])
            .range([d3.min(data, function(d) {return d.date}), d3.max(data, function(d) {return d.date})]);

当我尝试引用这个比例时:myDateScale(1),我只得到一个空的Object {}?

我尝试将比例更改为d3.time.scale(),但结果仍然相同。

非常感谢

1 个答案:

答案 0 :(得分:0)

找到答案......

不确定为什么上述不能像其他尺度(数字,颜色等)那样起作用但是没关系。

所以我们需要交换.domain& .range为彼此,然后使用 .invert 来返回日期。

myDateScale = d3.time.scale()
.range([d3.min(data, function(d) {return d.date}), d3.max(data, function(d) {return d.date})])
    .domain([1,10]);

myDateScale.invert(5); // returns a date midway between dateA & dateB
相关问题