我正在尝试在高图表中创建图表,其中绘图间隔等于日历月(每月变化)。我正在使用date.js,它有一个名为addMonths的函数,它可以理解一个月内不同的天数。
但是我无法将其转换为highcharts理解的内容(似乎是ms)。
有人知道如何让这个简单的POC代码在x轴上有1个月的间隔吗?
$(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
}]
});
});
答案 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