我需要绘制一条线图,其中x轴上的刻度表示毫秒级时间。
对于x轴比例尺,我正在使用。
然而,如果我使用线性刻度
对于具有毫秒细节的数据,使用时间刻度的正确方法是什么?
如何以秒:毫秒的间隔设置刻度?
编辑:还有,如何每隔几毫秒(例如500毫秒)设置一次刻度?
有一个API
使用时间刻度的 Fiddle。
对于x轴比例尺,我正在使用。
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()
,则生成的刻度会遵循预期的序列。
![x-axis with linear scale](https://istack.dev59.com/obgGE.webp)
如何以秒:毫秒的间隔设置刻度?
编辑:还有,如何每隔几毫秒(例如500毫秒)设置一次刻度?
有一个API
d3.time.second
,但没有像 d3.time.millisecond
这样的 API。如何添加一个?使用时间刻度的 Fiddle。