我的日期格式为iso日期格式“2013-07-20T17:01:30.500Z”,我想在x轴上绘制小时,分钟和秒。
var minDate = d3.min(dataset, function(d) {
return d.timestamp;
});
var maxDate = d3.max(dataset, function(d) {
return d.timestamp;
});
dataset是一个包含所有条目的json数组。
var x = d3.time.scale().domain([minDate, maxDate]).range([0, w]);
var xScale = d3.time.scale().domain([minDate, maxDate]).range([0, w]);
我正在使用以下代码在图表中创建x轴。
var format = d3.time.format("%H:%M:%S.%LZ");
var xAxis = d3.svg.axis().scale(x).tickFormat(format);
它给我错误“错误:解析d =”MNaN,NaNLNaN,“
答案 0 :(得分:-1)
您需要在将日期发送到比例之前解析日期:
var x = d3.time.scale()
.domain(d3.extent(dataset.map(format.parse))
.range([0, w]);
由于您需要重复使用已解析的日期,因此在对其执行任何其他操作之前,通常最好修改data
:
dataset.forEach(function(d){ d.timestamp = format.parse(d.timestamp); })
编辑:您的format也不正确,请尝试:
d3.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ")