簡體   English   中英

Highcharts JSON PHP多個系列

[英]Highcharts json php multiple series

我有一個簡單的問題,但由於某種原因找不到解決方案。 如此處所述: highcharts文檔 ,我編寫了以下腳本:

<script type="text/javascript">
$(document).ready(function() {

    var options = {
            chart: {
                renderTo: 'container',
                type: 'column',
            },
            title: {
                text: 'Dagelijks waterverbruik'
            },
            subtitle: {
                text: 'Waterverbruik in liters'
            },
            xAxis: {
                categories: [
                    'Zondag',
                    'Maanag',
                    'Dinsdag',
                    'Woensdag',
                    'Donderdag',
                    'Vrijdag',
                    'Zaterdag'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Waterverbruik (Liter)'
                }
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: [{}]
    };

    $.getJSON('testdata.php', function(data) {
        options.series[0].data = data;
        var chart = new Highcharts.Chart(options);
    });

});
</script>

我的testdata.php如下:

 <?php
header('Content-Type: application/json');
$data[] = array('Zondag',11);
$data[] = array('Maandag',10);
$data[] = array('Dinsdag',9);
$data[] = array('Woensdag',8);
$data[] = array('Donderdag',12);
$data[] = array('Vrijdag',2);
$data[] = array('Zaterdag',18);
$serie1[] = array('name' => 'serie 1', 'data' => $data);
$serie1[] = array('name' => 'serie 2', 'data' => $data);
echo json_encode($serie1);
?>

由於某些原因,圖表無法呈現。 我究竟做錯了什么? 一個系列以這種方式工作,但多個系列則不行。

如您所見,我希望兩個柱具有相同的值。 testdata.php的輸出為:

[{"name":"serie 1","data":[["Zondag",11],["Maandag",10],["Dinsdag",9],["Woensdag",8],["Donderdag",12],["Vrijdag",2],["Zaterdag",18]]},{"name":"serie 2","data":[["Zondag",11],["Maandag",10],["Dinsdag",9],["Woensdag",8],["Donderdag",12],["Vrijdag",2],["Zaterdag",18]]}]

這樣創建數組,並且不使用$ data數組中的類別,因為您在chart中使用靜態類別。

$data = array(11,10,9,8,12,81);
$serie1[] = array('name' => 'serie 1', 'data' => $data);
$serie1[] = array('name' => 'serie 2', 'data' => $data);
echo json_encode($serie1);

在這一部分:

$.getJSON('testdata.php', function(data) {
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
});

改成這個

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

您當前的代碼只能容納一個系列,因為您指定了該系列的索引,即[0]。

在JSON中,您需要設置JSON_NUMERIC_CHECK標志,因為在您的示例中,似乎數據上沒有numebr值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM