вопрос по highcharts
Здравствуйте Всем! я тут новичок по этому не судите строго, пожалуйста...
есть код который рисует график: $(function () { var processed_json = new Array(); $.getJSON('abitschart', function (data) { for (i = 0;i < data.abiturients_data.length;i++) { processed_json.push([data.abiturients_data[i].key, parseInt(data.abiturients_data[i].value)]); } $('#chart').highcharts( { chart : { type : "bar" }, title : { text : "Abiturients data" }, xAxis : { categories : ['KT(AB)', 'KT(TIE)', 'IQ', 'MN', 'BHA', 'EE', 'YeUTT', 'ET, EM', 'AB', 'AT', 'MKQ', 'TIE', 'TK', 'BIQ', 'Servis', 'Logistika'], title : { text : null } }, yAxis : { title : { text : "Number of abiturients", align : 'high' }, lables : 'justify' }, tooltip : { valueSuffix : ' ta' }, credits : { enabled : false }, series : [{name : 'Abiturients', data : processed_json}] }); }); }); вопрос заключается в том что можно ли получить вот эту строку categories : ['KT(AB)', 'KT(TIE)', 'IQ', 'MN', 'BHA', 'EE', 'YeUTT', 'ET, EM', 'AB', 'AT', 'MKQ', 'TIE', 'TK', 'BIQ', 'Servis', 'Logistika'] с помощью цикл оператора? ребята подскажите пожалуйста, т.к. надо сформировать эту строку зависимо от передаваемых данных... заранее спасибо! |
вроде сделал
var keys_json = new Array(); for (i = 0;i < data.abiturients_data.length;i++) { keys_json.push([data.abiturients_data[i].key]); } .... categories : [{data:keys_json}] З.Ы. теперь как бы все работает кроме первого элемента... т.е. в качестве первого элемента в диаграмме почему то получаю [object Object], а если просто вывожу на экран с помощью alert там все как положено... в чем моя ошибка? |
Rasulov,
.... var keys_json = new Array(); for (i = 0; i < data.abiturients_data.length; i++) { keys_json.push(data.abiturients_data[i].key); } .... xAxis : { categories : keys_json }, .... |
Rise,
Спасибо! а можете объяснить почему [{keys_json}] и [{data:keys_json}] возвращали не то? |
Rise,
хмммм ждал нечто другого ответа... |
Здравствуйте всем!
не стал создать новую тему и решил писать сюда, т.к. вопрос по highchats. есть js код вот ссылка $(function () { var date_json = new Array(); var info_json = new Array(); for(i = 0, i < data.json_date.length; i++){ date_json.push(data.json_date[i].value); } for(i = 0, i < data.json_info.length; i++){ info_json.push([data.json_info[i].key, parseInt(data.json_info[i].value)]); } $.getJSON('bosschart', function(data){ $('#bosschart').highcharts({ chart: { type: 'column' }, title: { text: 'Stacked column chart' }, xAxis: { categories: date_json //['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] }, 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: -30, verticalAlign: 'top', y: 25, floating: true, backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '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' } } } }, 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] }] }); }) }); я сюда же хочу поставить свои значения из БД, а точнее вот в эту строку [{ name: 'John', data: [5, 3, 4, 7, 2] }, { name: 'Jane', data: [2, 2, 3, 2, 1] }, { name: 'Joe', data: [3, 4, 4, 2, 5] }] для этого создал переменную info_json и вместо той строки написал series:info_json но не получил ожидаемого... посмотрел консоле javascript там респонс вот таком виде: "{"json_info":[{"name":"NAME1","data":"[0,2,0,3]"},{"name":"NAME2","data":"[1,4,2,3]"},{"name":"NAME3","data":"[5,2,9,13]"}]}" что делаю не правильно? подскажите пожалуйста... |
есть у кого нибудь идея?
|
Часовой пояс GMT +3, время: 19:12. |