1

これについて何か助けはありますか?問題は、パイでデータを取得できないことです。何か案は?円グラフ ビューの外にエコーしようとしたところ、データは [{"Terminal":"13"}] として JSON に表示されます。Hightchart は ["Sample", 2]? としてデータを必要とします。そのように変換する方法について何か提案はありますか?ありがとう。

私のコードは次のとおりです。

見る

$(document).ready(function () {

$(function () {
    var chart;

    // Build the chart
    $('.widget-lower-left#widget').highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: 'Availability'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage}%</b>',
            percentageDecimals: 1
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: false
                },
                showInLegend: true
            }
        },
        series: [{
            type: 'pie',
            name: 'Availability',
            data: []
        }]

});

});


function requestData() {
$.ajax({
    url: 'home',
    datatype: "json",
    success: function(data) {

        alert(data);
        console.log(data);

      chart.series[0].setData(data);

    },
    cache: false
});

};

});

次にモデルで

$results = $this->db->query("SELECT COUNT(get_jeeps_availability) as Terminal FROM get_jeeps WHERE get_jeeps_availability = 'Terminal'");

return $results->result_array();

コントローラー

public function index()
{   


    $data['pie'] = json_encode($this->get_model->dashboard_jeep_widget());


    $this->load->view('home',$data);
}
4

1 に答える 1

1

requestData() 関数では、データを設定する前に、「データ」を次のように前処理します。

var newData = [];
for( var i = 0, len = data.length; i < len; i++ ) {
    var item = data[i];
    for(var j in item){
        newData.push([j,item[j]]);
    }
}
chart.series[0].setData(newData);
于 2013-04-24T10:11:12.173 に答える