从几个系列的Highcharts中获取数据

时间:2015-01-19 07:49:44

标签: json highcharts series

我尝试使用2系列显示Highcharts图形来比较数据。

我使用以下javascript代码:

$(function () {
$.getJSON('test.php', function (data, data2) {

    // create the chart
    $('#container').highcharts('StockChart', {
        chart: {
            alignTicks: false
        },

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Stock Volume'
        },
    plotOptions: {
        column: {
            stacking: 'normal',

        }
    },
        series: [{
            type: 'column',

            name: 'AAPL Stock Volume',
            data: data,
            dataGrouping: {
                units: [[
                    'week', // unit name
                    [1] // allowed multiples
                ], [
                    'month',
                    [1, 2, 3, 4, 6]
                ]]
            }
        },{

            type: 'column',
            name: 'AAPL Stock Volume',
            data: data,
            dataGrouping: {
                units: [[
                    'week', // unit name
                    [1] // allowed multiples
                ], [
                    'month',
                    [1, 2, 3, 4, 6]
                ]]
            }
        }]
    });
});

});

和这个PHP代码:

$arr = array([1147651200000,1],[1147737600000,3],[1147824000000,1]);

$arr2 = array([1147651200000,1],[1147737600000,3],[1147824000000,1]);

echo json_encode($arr, $arr2);?>

目前,我所拥有的只是一个空白页,但如果只发送一个数组,则可以正常工作。

我做了不同的测试,我的问题是json_encode函数只接受一个参数。我的问题如下:如何将两个数组传输到php文件?

1 个答案:

答案 0 :(得分:0)

我终于解决了我的问题。感谢John Zwinck的想法。

$(function () {
$.getJSON('test.php', function (data) {

    console.log(data);

    // create the chart
    $('#container').highcharts('StockChart', {
        chart: {
            alignTicks: false
        },

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Stock Volume'
        },
    plotOptions: {
        column: {
            stacking: 'normal',

        }
    },
        series: [{
            type: 'column',

            name: 'AAPL Stock Volume',
            data: data.arr1,
            dataGrouping: {
                units: [[
                    'week', // unit name
                    [1] // allowed multiples
                ], [
                    'month',
                    [1, 2, 3, 4, 6]
                ]]
            }
        },{

            type: 'column',
            name: 'AAPL Stock Volume',
            data: data.arr2,
            dataGrouping: {
                units: [[
                    'week', // unit name
                    [1] // allowed multiples
                ], [
                    'month',
                    [1, 2, 3, 4, 6]
                ]]
            }
        }]
    });
});

});

$arr1 = array([1147651200000,4],[1147737600000,3],[1147824000000,6]);

$arr2 = array([1147651200000,4],[1147737600000,8],[1147824000000,2]);

echo json_encode(array('arr1' => $arr1, 'arr2' => $arr2));