d3.js - 带刻度的时间刻度,以毫秒为单位

hit*_*ani 5 d3.js nvd3.js

我需要绘制一个折线图,其中x轴将有代表时间的刻度,以毫秒为单位.

对于x-scale,我正在使用 d3.time.scale()

var xScale = d3.time.scale()
    .range([0, width])
Run Code Online (Sandbox Code Playgroud)

x轴看起来像:

var xAxis = d3.svg.axis()
    .scale(xScale)   
    //.ticks(d3.time.second, 1)
    .orient("bottom")        
    .tickFormat(d3.time.format("%H:%M %L"));
Run Code Online (Sandbox Code Playgroud)

但是x轴上的值/刻度不会如预期那样生成.

带时标的x轴

x轴的数据是日期对象,它们包含以下值(样本数据)

13:25:6 794 (%H:%M%S %L)
13:25:6 898 
13:25:6 994 
13:25:7 95 
13:25:7 194 
13:25:7 295 
13:25:7 395 
13:25:7 495 
13:25:7 595 
13:25:7 710 
13:25:7 795 
13:25:7 895
13:25:7 995 
13:25:8 95 
13:25:8 195 
13:25:8 294
13:25:8 395 
13:25:8 495
13:25:8 594
13:25:8 795 
Run Code Online (Sandbox Code Playgroud)

但是,如果我采用线性比例d3.scale.linear() 生成的Ticks遵循预期的系列.

带有线性刻度的x轴

什么是使用time scale具有毫秒细节的数据的正确方法.

如何以秒为单位的滴答间隔:毫秒?

编辑:

另外,如何每隔几毫秒说每隔500毫秒就有一个滴答声?

有一个API,d3.time.second但没有像d3.time.millisecond.我该如何添加一个?

使用时间尺度的小提琴

Eri*_*tts 1

(删除了之前过时的答案)

我为此针对 d3 项目创建了一个问题,并且已修复: https: //github.com/mbostock/d3/issues/1529

可以在这里看到一个例子:http ://bl.ocks.org/mbostock/6618724