2015-01-11 22 views
0

我试图在绘制间隔等于日历月(每月变化)的高图表中创建图表。我正在使用date.js,它有一个名为addMonths的函数,它可以理解一个月内的不同天数。在Highchart中按月递增X轴时遇到问题

但是,我很难将其转换成高分辨率可理解的东西(似乎是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 
    }] 
}); 

});

回答

2

Highcharts正如你所说,支持UTC日期格式为msDateTime可以使用JavaScript中Date.UTC转换:

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

而且你必须使用tickIntervalxAxis以确保间隔在三个月:

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

这里的DEMO

+0

谢谢你,它的工作 – Jamesla