0

我正在尝试将数组索引映射到 d3.js 中的时间范围,因为我没有数组的单独日期 - 我只知道值在 1900 到 2000 之间。

var data = [45,678,490...]; // length 820

var x = d3.time.scale().range([0, width]).domain([new Date(1900, 0, 0), new Date(2000, 0, 0)]);

// line function
var line = d3.svg.line()
    .x(function(d,i) { 
    // here map i to date between domain min / max    
        return x(i); 
    })
    .y(function(d) { 
        return y(d); 
    });

有没有比手动计算每个数组值的日期更聪明的方法?也许计算步长并递增?

4

1 回答 1

1

使用另一个比例从索引值映射到日期:

var arrayScale = d3.time.scale()
                    .domain([0, data.length])
                    .range([new Date(1900, 0, 0), new Date(2000, 0, 0)]);
于 2013-06-04T12:59:27.927 回答