Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 高图日期时间轴_Jquery_Datetime_Highcharts_Axis - Fatal编程技术网

Jquery 高图日期时间轴

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],...],

我通过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],...],
            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内计算月索引或使用格式化程序。