0

我是使用 highcharts 并通过示例工作的新手。在 highcharts 中显示一些数据时出现问题。

这是我的系列数据(var_dump)

'series_data' => string '[ 
{name:'Inmobi',data:[
    [Date.UTC(2013, 05, 01),311328],[Date.UTC(2013, 05, 02),363780],
    [Date.UTC(2013, 05, 03),364062],[Date.UTC(2013, 05, 04),283128],
    [Date.UTC(2013, 05, 05),322608]] },
{name:'Buzz City',data:[
    [Date.UTC(2013, 05, 01),363216],[Date.UTC(2013, 05, 02),404670],
    [Date.UTC(2013, 05, 03),370783],[Date.UTC(2013, 05, 04),459942],
    [Date.UTC(2013, 05, 05),569499]] }]' 

当它显示在高图表中时,月份转移到六月(应该是五月)。 https://www.dropbox.com/s/gilftyfs8a71n9k/highcharts.jpg

我想知道有什么问题。

这是highcharts渲染器脚本

<script language="javascript">
var chart_type = 'column';
var series_data = <?=$series_data?>;

    var chart;
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'site_statistics',
        type: chart_type
        },
        title: {
            text: 'Ad Spend',
            x: -20 //center
        },
        xAxis: {
            title: {
                text: 'Date '
            },
        type: 'datetime',
            dateTimeLabelFormats: {
                minute: '%H:%M',
                hour: '%H:%M',
                day: '%e %b',
                week: '%e %b',
                month: '%b \'%y',
                year: '%Y'
        },
        tickInterval: 24 * 3600 * 1000 
        },
        yAxis: {
            title: {
                text: 'Cost '
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            formatter: function() {
                    return '<b>'+ this.series.name +'</b><br/>'+
                    Highcharts.dateFormat('%a %d %b',this.x)  +': '+ accounting.formatMoney(this.y, "Rp", 0, ".", "") +'';
            }
        },
        credits: {
            enabled: false
        },
        series: series_data
    });

我非常感谢任何帮助。

问候

4

2 回答 2

1

这是正确的,因为在 Highcharts 中,月份名称默认从 0 到 11 开始。从 0-1 月到 11-12 月。

在此处输入图像描述

所以五月你应该写 4 而不是 5。

于 2013-05-20T08:41:45.073 回答
1

Date 将接受月份值 0 - 11。0 是一月,11 是十二月。所以6指的是六月。

检查 javascript 日期对象的文档

于 2013-05-20T08:43:29.330 回答