4

我使用折线图/面积图来显示日期时间数据。见例子:http: //jsfiddle.net/YFERb/

$(function () {
    var chart = new Highcharts.Chart({

        chart: {
            renderTo: 'container'
        },

        xAxis: {
            type: 'datetime'
        },
        series: [{
            data: [
                [Date.UTC(2010, 0, 1), 29.9],
                [Date.UTC(2010, 0, 3), 106.4],
                [Date.UTC(2010, 0, 5), 75],
                [Date.UTC(2010, 0, 6), 129.2],
                [Date.UTC(2010, 0, 10), 176.0]
             ]
        }]

    });
});

但我想将空天填充为 0。请参见示例:http: //jsfiddle.net/RSPNU/

所以下面的天被填满 0. 2010.0.2, 2010.0.4, 2010.0.7, 2010.0.8, 2010.0.9

我在空天插入0。但它很重。

所以我想像第二个例子一样显示,除了插入 0 或空数据。

如果您有其他方法,请回复此。谢谢你。

4

2 回答 2

1

为避免积分,您可以将其值设置为null.
当你这样做时,你的图表将在零点之间有一个差距,所以你必须设置connectNullstrue.

series: [{
    data: [
        [Date.UTC(2010, 0, 1), 29.9],
        [Date.UTC(2010, 0, 2), null],
        [Date.UTC(2010, 0, 3), 106.4],
        [Date.UTC(2010, 0, 4), null],
        [Date.UTC(2010, 0, 5), 75],
        [Date.UTC(2010, 0, 6), 129.2],
        [Date.UTC(2010, 0, 7), null],
        [Date.UTC(2010, 0, 8), null],
        [Date.UTC(2010, 0, 9), null],
        [Date.UTC(2010, 0, 10), 176.0]
     ]
}],

plotOptions: {
    series: {
        connectNulls: true
    }
}

演示

于 2013-02-14T02:27:57.333 回答
1

一般来说,Highcharts 应该如何知道你想每天输入 0,而不是每小时,或者每秒?如果你知道你的数据是如何被裁剪的,你可以设置pointInterval一个pointStart系列。然后您可以更新每个应该具有不同值的点,请参见示例:http: //jsfiddle.net/YFERb/3/

于 2013-02-14T12:05:46.083 回答