0

我有从 API 返回的这个 json 数组。

[
{
    "localTimestamp": 1383091200,
    "swell": {
        "absMinBreakingHeight": 3.255
    }
},
{
    "localTimestamp": 1383102000,
    "swell": {
        "absMinBreakingHeight": 2.968
    }
}
]

我需要让它与 highcharts 一起工作,我完全迷失了。数据来自外部 API。

我是否需要引入数组并将其更改为适合 highcharts,或者将 highcharts 指向 API 的 URL 并调整 highchart 的代码以使用它们发送的内容。

我在这里使用了来自 Highcharts 的示例代码:

html:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
    var options = {
        chart: {
            renderTo: 'container',
           type: 'spline'
        },
        series: [{}]
    };

    var url =  "jsonp.php?callback=?";
    $.getJSON(url,  function(data) {
        options.series[0].data = data;
        var chart = new Highcharts.Chart(options);
    });
});



</script>

</script>
</head>
<body>

<div id="container" style="width: 100%; height: 400px; margin: 0 auto"></div>

</body>
</html>






<script type="text/javascript" src="/js/themes/gray.js"></script>

</body>
</html>

和我的php代码:

<?php
header("content-type: application/json"); 

$array = array(7,4,2,8,4,1,9,3,2,16,7,12);

echo $_GET['callback']. '('. json_encode($array) . ')';    

?>

我知道 php 是错误的(显然)我只是不知道如何格式化我的 json 来与 highcharts 对话。在此先感谢 M

需要明确的是,我试图将我的数据(顶部)以高图表可以读取的格式放入 php 数组(底部)中。

4

1 回答 1

1

您需要将数据(来自 JSON)转换为正确的格式,例如对象[{x:timestamp,waveheight},{timestamp,waveheight]]数组或数组数组,例如

[[timestamp,waveheight],[timestamp,waveheight]] 

通常在 highcharts 中,您需要使用 x/y 参数而不是自定义名称。

于 2013-11-03T11:50:22.637 回答