Javascript D3时标–;勾号(计数)产生错误,省略勾号(计数)不会产生错误

Javascript D3时标–;勾号(计数)产生错误,省略勾号(计数)不会产生错误,javascript,d3.js,Javascript,D3.js,我正在实现一个时间轴功能,并使用D3中的对象来创建一个轴。代码如下: var t = 1066555; var xd = [new Date(t-10000), new Date(t)], x = d3.time.scale() .domain(xd) .range([0, 300]) .ticks(10); var xaxis = d3.svg.axis().scale(x); var svg = d3.select('body')

我正在实现一个时间轴功能,并使用D3中的对象来创建一个轴。代码如下:

var t = 1066555;

var xd = [new Date(t-10000), new Date(t)],
    x = d3.time.scale()
        .domain(xd)
        .range([0, 300])
        .ticks(10);

var xaxis = d3.svg.axis().scale(x);

var svg = d3.select('body').append('svg').attr('height', 90).attr('width', 300);

svg.append('g').attr('class', 'x axis').call(xaxis);
在我添加到scale初始化之前,一切正常。添加时,
.call(xaxis)
抛出
未捕获类型错误:scale.copy不是函数
。当去除
ticks()
时,不会出现任何错误,秤会按预期工作。根据法律规定,指定刻度计数是合法的。知道这是为什么会出错吗?代码几乎与相同

我在这里做了一个jsfiddle:

您的代码:

x = d3.time.scale()
        .domain(xd)
        .range([0, 300]).ticks(10);
var xaxis = d3.svg.axis().scale(x)
它应添加在轴上,如下所示

x = d3.time.scale()
        .domain(xd)
        .range([0, 300])

var xaxis = d3.svg.axis().scale(x).ticks(10);
工作代码

希望这有帮助