Я только начал использовать highcharts, и здесь я застрял –
У меня есть 2 массив с именем – js_platform, js_totalTest
, который я js_platform, js_totalTest
из базы данных.
Код для генерации диаграммы –
<!DOCTYPE html> <body> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/modules/exporting.js"> </script> <script> $(function () { js_platform = <?php echo json_encode($platform); ?>; js_totalTest = <?php echo json_encode($totalTest); ?>; $('#container').highcharts({ chart: { type: 'column' }, title: { text: 'Overall avalibility of testcases on each platform' }, xAxis: { categories: js_platform }, yAxis: { min: 0, title: { text: 'Total fruit consumption' }, stackLabels: { enabled: true, style: { fontWeight: 'bold', color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray' } } }, legend: { align: 'right', x: -70, verticalAlign: 'top', y: 20, floating: true, backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'white', borderColor: '#CCC', borderWidth: 1, shadow: false }, tooltip: { formatter: function() { return '<b>'+ this.x +'</b><br/>'+ this.series.name +': '+ this.y +'<br/>'+ 'Total: '+ this.point.stackTotal; } }, plotOptions: { column: { stacking: 'normal', dataLabels: { enabled: true, color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white', style: { textShadow: '0 0 3px black, 0 0 3px black' } } } }, series: [{ name: 'John', data: [5, 3, 4, 7, 2] }, { name: 'Jane', data: [2, 2, 3, 2, 1] }, { name: 'Joe', data: [3, 4, 4, 2, 5] }] }); }); </script> <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> </body> </html>
Теперь для серии я хочу отправить значения массива js_totalTest .
Здесь, если я делаю что-то вроде **series: [{data: [js_totalTest]}]**
, он ничего не отображает.
Как я могу это сделать? Пожалуйста, направляйте.
Сделайте что-нибудь вроде –
series: [{ data: [<?php echo join($totalTest, ',') ?>] }]
См. Ссылку ( http://www.highcharts.com/docs/working-with-data/preprocessing-data-from-a-database )
Попробуй так. Ваш массив js_totalTest
содержит значения данных и имен
Циклируйте данные массива
var arr = []; for(var i=0;i<js_totalTest.length;i++) { arr[i] = {}; arr[i]['name'] = ''; //Here push your series name field in your example "John, Jane etc" for(var j=0;j<s.length;j++) { arr_data.push(parseInt(s[j])); } arr[i]['data'] = parseInt('') ; // Here push your series data (Eg: 5 ,3 , etc.) }
Прохождение arr
в серии
series: arr