JS d3 缩放时间不会产生正确的刻度

JS d3 scale time doesn't produce the correct ticks

我想根据开始和结束时间生成 ticks。我正在使用 d3 中的 scaleTime 函数,传递 domainrange.

const scale = scaleTime().domain([1625733909077, 1625733911965]).range([0, 1317]);

当我登录 scale.ticks() 时,我得到了这个输出:

这似乎是正确的,因为大约需要 2.5 秒。

但是当我尝试从每个中提取 ms 值时:

console.log(ticks.map((v) => v.getMilliseconds()).sort());

我得到这个输出:

[0, 0, 200, 200, 200, 400, 400, 400, 600, 600, 600, 800, 800, 800]

这不是我所期望的。 在这种情况下我期望的结果是:

[0, 200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600]

我做错了什么?

我认为它正在按预期工作。 getMilliseconds 不会 return 1000 或以上。那是几秒钟。该函数不会将秒转换为毫秒。

根据您的评论,您似乎想要一个从您的秤域最小值算起的毫秒数数组。

ticks.map(x =>  x - ticks[0])