无法在Highchart中按月增加X轴

时间:2015-01-11 05:49:13

标签: javascript highcharts datejs

我正在尝试在高图表中创建图表,其中绘图间隔等于日历月(每月变化)。我正在使用date.js,它有一个名为addMonths的函数,它可以理解一个月内不同的天数。

但是我无法将其转换为highcharts理解的内容(似乎是ms)。

有人知道如何让这个简单的POC代码在x轴上有1个月的间隔吗?

http://jsfiddle.net/uqv23bze/

$(function () {
var data = [];
var d = new Date();

for(var i=0;i<10;i++){
    var x = new Date(d.addMonths(1));        
    data.push([x,i]);
}

$('#container').highcharts({ 
    xAxis: {
        type: 'datetime'
    },
    series: [{
        data: data
    }]
});

});

1 个答案:

答案 0 :(得分:2)

正如您所说,

Highcharts支持UTC中的ms日期格式。可以使用javascript中的DateTime转换Date.UTC

var date = new Date(d.addMonths(1));
var x = Date.UTC(date.getYear() + 1900, date.getMonth(), date.getDate());

此外,您必须使用tickInterval xAxis来确保时间间隔为几个月:

tickInterval: 30 * 24 * 3600 * 1000 // (30 days, 24 hours, 3600 seconds, 1000 milliseconds)

这是DEMO