1

我通过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 月!!这是从哪里来的?

你可以在这里看到一个例子:

http://jsfiddle.net/8rysM/

怎么解决?

4

1 回答 1

2

您可以使用格式化程序来实现月份的更正。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

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;
}

jsFiddle

于 2013-08-01T19:36:06.313 回答