В пироге чата Highchart не отображается Codeigniter - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать круговую диаграмму старшей диаграммы с Codeigniter впервые.Я не могу отобразить график с моими кодами ниже.Я не могу передать JSON к данным графика для отображения круговой диаграммы.Любая помощь приветствуется.

Спасибо

Результат запроса в формате json выглядит следующим образом:

  [{"sexo":"Feminino","total":"4"},{"sexo":"Masculino","total":"2"}]

Контроллер

public  function charCont() 
{
$query = $this->model_admin->getPieChat();
$data['query']=json_encode($query);
$this->load->view('chart',$data); 
}

Просмотр

 <div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>

Highcharts.chart('container', {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
title: {
text: 'Test'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
}
}
},
series: [{
name: 'Brands',
colorByPoint: true,
data:<?=$query?>

}]
});

1 Ответ

1 голос
/ 18 марта 2019

Вам необходимо предварительно обработать ваши данные в формате, требуемом Highcharts:

var data = [{
    "sexo": "Feminino",
    "total": "4"
}, {
    "sexo": "Masculino",
    "total": "2"
}];

data = data.map(function(obj) {
    return {
        name: obj.sexo,
        y: Number(obj.total)
    }
});

Highcharts.chart('container', {
    ...,
    series: [{
        ...
        data: data
    }]
});

Живая демоверсия: http://jsfiddle.net/BlackLabel/yfLovx8b/

Справочник по API: https://api.highcharts.com/highcharts/series.pie.data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...