0

アプリケーションで参照するために、たとえば 2001 年 1 月 1 日から 2001 年 11 月 30 日までの日付のスケールを生成する必要があります。

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() に変更しようとしましたが、それでも同じ結果です。

どうもありがとう

4

1 に答える 1

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
于 2013-07-28T12:32:50.197 に答える