Highcharts在X轴上加载日期值

时间:2014-02-10 09:24:09

标签: json highcharts

我有一张Highcharts图表,可以从JSON请求中获取数据。

function slowips(target){

var options = {
    chart: {
        renderTo: target,
        type: 'spline',
        borderColor: '#0072C6',
        borderWidth: 3
    },
    title: {
            text: 'Responsetime'
    },
    subtitle: {
        text: 'Nr.1 is slowest'
    },
    legend: {
        enabled: true,
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle'
    },
    yAxis: {
        title: {
            text: 'Milliseconds'
        },
        min: 0


    },
    exporting: {
        enabled: false
    },  
    credits: {
        enabled: false
    },
    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: { 
            month: '%e. %b',
            year: '%Y'
        },
        labels: {
            enabled: true,
        },
        minorTickLength: 0,
        tickLength: 0,

    },
    plotOptions: {
        spline: {   
            animation: false,
            enableMouseTracking: false,
            marker: {
            enabled: false
            }
        }

    },
    series: [{}]
};


 $.getJSON('graphs/test.php', function(data) {
    options.series = data; 
    var chart = new Highcharts.Chart(options);
});
}

slowips();

这是一个示例JSON输入:

[ { "name":"sddf", "data": [ ["2013-02-01 00:01:00", 2 ], ["2013-02-02 00:02:00", 2.55 ]     ] } ]

也尝试过:

[ { "name":"sddf", "data": [ [Date.UTC(12,  3, 09), 2 ], [Date.UTC(12,  3, 10), 2.55 ]   ] } ]

第一个JSON示例呈现图表,但X轴数据不正确。第二个JSON不呈现图表。

请帮忙!

1 个答案:

答案 0 :(得分:1)

你需要使用时间戳,所以当你加载第一个JSON时,你需要通过Date.UTC()/ Data.parse()来解析它,但函数不能放在json里面(就像你在第二个例子中那样) )。