我需要在我的应用程序中生成一个比例,例如,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(),但结果仍然相同。
非常感谢
答案 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