2

我在更新基本柱高图表时遇到问题。

从服务器返回的我的 json 数组是:

[{"name":"positive","data":[18,35,32,38]},{"name":"negative","data":[0,14,65,121]}]

我只使用"data"数组 ^ 即jsonArr[0].datajsonArr[1].data

我的数据设置正确,但是图表没有描述这些值。有任何想法吗?

这是我的javascript:

        $(document).ready(function() {

            var twitterChart;

            posArr = [];
            negArr = [];

            function renderGraph()
            { 
                $.getJSON("FrontController", function(jsonArr, statusTxt, xhr){

                    console.log("Data returned : " + data);*/

                    posArr = jsonArr[0].data;
                    negArr = jsonArr[1].data;

                    console.log("posArr: " + posArr);
                    console.log("negArr: " + negArr);

                    twitterChart.series[0].data = posArr;
                    twitterChart.series[1].data = negArr;

                });

                setTimeout(renderGraph, 3000)
            }

            twitterChart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container1',
                    type: 'column'
                },
                title: {
                    text: ''
                },
                subtitle: {
                    text: ':'
                },
                xAxis: {
                    categories: [
                        'Column 1',
                        'Column 2',
                        'Column 3',
                        'Column 4'
                    ]
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: 'Testing"'
                    }
                },
                legend: {
                    layout: 'vertical',
                    backgroundColor: '#FFFFFF',
                    align: 'left',
                    verticalAlign: 'top',
                    x: 100,
                    y: 70,
                    floating: true,
                    shadow: true
                },
                tooltip: {
                    formatter: function() {
                        return ''+
                            this.x +': '+ this.y +' tweets';
                    }
                },
                plotOptions: {
                    column: {
                        pointPadding: 0.2,
                        borderWidth: 0
                    }
                },
                series: [{
                        name: 'Positive',
                        data: posArr
                    }, {
                        name: 'Negative',
                        data: negArr
                    }]
            });

            renderGraph();

        });
    </script>
4

1 回答 1

3

要更新系列数据,请使用 twitterChart.series[0].setData(array); 见:http://api.highcharts.com/highcharts#Series.setData()

于 2013-02-11T12:56:59.867 回答