d3-时间线错误:属性< rect>x:预期长度,“NaN”

mcvgt66p  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在尝试使用D3堆栈图显示一些时间线。出现以下错误
错误:属性x:预期长度“NaN”。错误:属性宽度:预期长度为“NaN”。
下面是我改编的源代码:

$scope.createTimeline = function(callsSource, tag, nameField) {
    var colorScale = d3.scale.ordinal().range(['#008000','#FF0000']).domain(['ok','ko']);
    var chart = d3.timeline()
    .rotateTicks(45)
    .stack()
    .itemHeight(12)
    .itemMargin(2)
    .showTimeAxisTick()
    .tickFormat({format: d3.time.format("%X.%L"), numTicks:15, tickSize: 5})
    .showTimeAxisTickFormat({stroke: "stroke-dasharray", spacing: "4 5"})
    .colors( colorScale )
    .colorProperty('status');

    var svg = d3.select(tag).append("svg").attr("width", 950);
    var listSeg = new Array();
    var calls = callsSource.slice(0);
    calls.reverse();
    for (var i = 0; i < calls.length; i++) {
        var seg = {status:(calls[i].retHttp == "200" ? 'ok' : 'ko'), times: [{label:calls[i][nameField]||"unknown","starting_time": calls[i].startDate||calls[i].endDate, "ending_time": calls[i].endDate||calls[i].startDate}]};
        listSeg.push(seg);
    }
    svg = svg.datum(listSeg).call(chart);
};

控制台出现错误:

当我检查HTML页面时,我可以看到svg中的x和width属性是NaN

有什么需要帮忙的吗!

lymgl2op

lymgl2op1#

其原因是:

"starting_time": calls[i].startDate||calls[i].endDate, 
"ending_time": calls[i].endDate||calls[i].startDate

startDateendDate不是时间戳。

相关问题