【发布时间】:2013-08-29 23:41:20
【问题描述】:
我需要绘制一个折线图,其中 x 轴将有刻度,表示时间和毫秒细节。
对于x-scale,我使用的是d3.time.scale()
var xScale = d3.time.scale()
.range([0, width])
x 轴的样子:
var xAxis = d3.svg.axis()
.scale(xScale)
//.ticks(d3.time.second, 1)
.orient("bottom")
.tickFormat(d3.time.format("%H:%M %L"));
但 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
但是,如果我采用线性刻度 d3.scale.linear()
生成的报价遵循预期的系列。
将time scale 与具有毫秒详细信息的数据一起使用的正确方法是什么。
如何以秒为单位设置刻度间隔:毫秒?
编辑:
另外,我怎样才能让每几毫秒的滴答声说每 500 毫秒?
有一个 API d3.time.second,但没有像 d3.time.millisecond 这样的 API。如何添加?
【问题讨论】:
-
x轴需要13:25:6 794格式吗?