D3.js 在引发异常的D3时间轴上设置刻度间隔
我有一个简单的JavaScript代码在D3中构建时间轴:D3.js 在引发异常的D3时间轴上设置刻度间隔,d3.js,D3.js,我有一个简单的JavaScript代码在D3中构建时间轴: var xScale = d3.time.scale() .domain([testData.datapoints[0].at, testData.datapoints[testData.datapoints.length - 1].at]) .range([0, (new Date(testData.datapoints[testData.datapoints.length - 1].at - test
var xScale = d3.time.scale()
.domain([testData.datapoints[0].at, testData.datapoints[testData.datapoints.length - 1].at])
.range([0, (new Date(testData.datapoints[testData.datapoints.length - 1].at - testData.datapoints[0].at).getTime() / interval) * 21]),
xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom")
.ticks([d3.time.minute, 15]) /* This line causes an exception */
.tickFormat(d3.time.format("%d/%m/%y %H:%M:%S")),
上面说
删除异常,但它不是我所追求的功能。)
引发错误的D3行是D3.js中此函数的最后一行:
scale.ticks = function(interval, skip) {
var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ {
range: interval
}, skip ];
if (method) interval = method[0], skip = method[1];
return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);
};
scale.ticks=函数(间隔,跳过){
var extent=d3_scaleExtent(scale.domain()),method=interval==null?tickMethod(extent,10):typeof interval==“number”?tickMethod(extent,interval):!interval.range&&[{
范围:间隔
},跳过];
如果(方法)间隔=方法[0],跳过=方法[1];
返回间隔。范围(范围[0],d3_时间刻度(+范围[1]+1),跳过<1?1:跳过);
};
在抛出异常时,skip
未定义
D3JavaScript行有什么问题?它是从文档中复制的,但我怀疑它是D3中的一个bug,更有可能是我不知何故误用了它。您有以下内容:
.ticks([d3.time.minute, 15])
但你想要的是:
.ticks(d3.time.minute, 15)
只有在将特定的值列表传递到函数中时,才会使用数组。在这种情况下,您需要使用该功能,您有:
.ticks([d3.time.minute, 15])
但你想要的是:
.ticks(d3.time.minute, 15)
只有在将特定的值列表传递到函数中时,才会使用数组。在这种情况下,您需要使用该功能,您有:
.ticks([d3.time.minute, 15])
但你想要的是:
.ticks(d3.time.minute, 15)
只有在将特定的值列表传递到函数中时,才会使用数组。在这种情况下,您需要使用该功能,您有:
.ticks([d3.time.minute, 15])
但你想要的是:
.ticks(d3.time.minute, 15)
只有在将特定的值列表传递到函数中时,才会使用数组。在这种情况下,你会想使用这个函数