Highcharts:使用JSON将xAxis数据加载为“datetime”?

时间:2015-09-01 07:35:28

标签: php json datetime highcharts

我正在尝试让我的xAxis在Highcharts中使用'datetime'格式而不是常规类别,但我不知道如何做到这一点。请查看下面的图片,看看我的意思:

[TestCategory("Experiments")]

data.php的输出:

[
{"name":"datetime","data":[1439929080000,1439929140000,1439929200000, ...
{"name":"krypTemp","data":[17,17.3,17.2,17.3,17.2,17.2,17.2,17.2,17.2, ...
{"name":"vindTemp","data":[19,18.9,18.9,18.8,18.8,18.7,18.7,18.7,18.7, ...
{"name":"uteTemp","data":[15,15.5,15.5,15.4,15.4,15.4,15.3,15.4,15.3, ...
{"name":"krypFukt","data":[59,59,59,59,59,59,59,59,59,59,59,59,59,59, ...
{"name":"vindFukt","data":[49,49,50,50,50,50,50,50,50,50,50,50,50,50, ...
]

我的html页面的当前配置:

 $(document).ready(function() {
        var options = {
            chart: {
                renderTo: 'container',
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                type: 'spline'
            },
            xAxis: {
                type: 'datetime'
            },
            series: []
        }
        $.getJSON("data.php", function(json) {
            options.xAxis.categories = json[0]['data'];
            options.series[0] = json[1];
            options.series[1] = json[2];
            options.series[2] = json[3];
            options.series[3] = json[4];
            options.series[4] = json[5];
            chart = new Highcharts.Chart(options);
        });
    });

我知道日期时间和类别是相互冲突的,但不是我应该如何重写这个“options.xAxis.categories = json [0] ['data'];”适合/显示为'datetime'。

对此有任何帮助将非常感激,因为这是实现我的目标的最后一步:)。

1 个答案:

答案 0 :(得分:0)

如果您有日期时间类型的轴,则不能使用类别,因为这是不同的类型。

替换此行:

options.xAxis.categories = json[0]['data'];

options.xAxis.tickPositions = json[0]['data'];

如果标签打印为数字,您可以使用labels formatter并在里面使用Highcharts.datetime