Jquery 高图日期时间轴
我通过php(从数组)获取x轴和y轴的数据,并在序列块中以[x,y]格式“写下来”,如下所示:Jquery 高图日期时间轴,jquery,datetime,highcharts,axis,Jquery,Datetime,Highcharts,Axis,我通过php(从数组)获取x轴和y轴的数据,并在序列块中以[x,y]格式“写下来”,如下所示: series: [{ name: 'Dat1', color: '#AA4643', yAxis: 0, data: [[Date.UTC(2013, 07, 10), 9],[Date.UTC(2013, 07, 11), 56],[Date.UTC(2013, 07, 12), 25],...],
series: [{
name: 'Dat1',
color: '#AA4643',
yAxis: 0,
data: [[Date.UTC(2013, 07, 10), 9],[Date.UTC(2013, 07, 11), 56],[Date.UTC(2013, 07, 12), 25],...],
pointInterval: 24 * 3600 * 1000,
}, {
name: 'Dat2',
color: '#4572A7',
yAxis: 1,
data: [[Date.UTC(2013, 07, 10), 9],[Date.UTC(2013, 07, 11), 22],[Date.UTC(2013, 07, 12), 8],...],
pointInterval: 24 * 3600 * 1000,
}]
正如您在这里看到的,日期是7月份,但是在图表中,x轴显示的是8月份(可能是实际月份),而不是7月份!!这是从哪里来的
您可以在这里看到一个示例:
如何解决此问题?您可以使用formatter实现当月的更正。 一个用于
xAxis
显示正确月份的修复程序:
xAxis: {
type: 'datetime',
labels : {
formatter: function() {
var myDate = new Date(this.value);
var newDateMs = Date.UTC(myDate.getUTCFullYear(),myDate.getUTCMonth()-1,myDate.getUTCDate());
return Highcharts.dateFormat('%e. %b',newDateMs);
}
}
}
与工具提示
类似:
tooltip: {
formatter: function() {
var myDate = new Date(this.x);
var newDateMs = Date.UTC(myDate.getUTCFullYear(),myDate.getUTCMonth()-1,myDate.getUTCDate());
return '<b>'+ this.series.name +'</b><br/>'+Highcharts.dateFormat('%e. %b', newDateMs) +': '+ this.y;
}
工具提示:{
格式化程序:函数(){
var myDate=新日期(此.x);
var newDateMs=Date.UTC(myDate.getUTCFullYear(),myDate.getUTCMonth()-1,myDate.getUTCDate());
返回'+this.series.name+'
'+Highcharts.dateFormat('%e.%b',newDateMs)+':'+this.y;
}
月份从0开始,即06是7月。是否有任何设置允许从1开始?我不知道这样的设置。您可以在javascript中查看日期对象,只需
setUTCMonth
作为getUTCMonth()-1
你能举个例子吗?当我尝试在javascript中设置时,我得到了引用错误:getUTCMonth未定义
你可以在date.utc-1内计算月索引或使用格式化程序。