09.05.2015, 03:45
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
вопрос по 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'] с помощью цикл оператора?
ребята подскажите пожалуйста, т.к. надо сформировать эту строку зависимо от передаваемых данных...
заранее спасибо!
|
|
09.05.2015, 08:44
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
вроде сделал
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 там все как положено... в чем моя ошибка?
|
|
09.05.2015, 10:30
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 456
|
|
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
},
....
|
|
09.05.2015, 10:43
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
Rise,
Спасибо! а можете объяснить почему [{keys_json}] и [{data:keys_json}] возвращали не то?
|
|
09.05.2015, 11:15
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
Rise,
хмммм ждал нечто другого ответа...
|
|
19.05.2015, 08:32
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
Здравствуйте всем!
не стал создать новую тему и решил писать сюда, т.к. вопрос по 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]"}]}"
что делаю не правильно? подскажите пожалуйста...
|
|
20.05.2015, 06:49
|
Новичок на форуме
|
|
Регистрация: 09.05.2015
Сообщений: 7
|
|
есть у кого нибудь идея?
|
|
|
|