Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.05.2015, 03:45
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 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'] с помощью цикл оператора?

ребята подскажите пожалуйста, т.к. надо сформировать эту строку зависимо от передаваемых данных...

заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2015, 08:44
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 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 там все как положено... в чем моя ошибка?
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2015, 10:30
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 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
},
....
Ответить с цитированием
  #4 (permalink)  
Старый 09.05.2015, 10:43
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 09.05.2015
Сообщений: 7

Rise,
Спасибо! а можете объяснить почему [{keys_json}] и [{data:keys_json}] возвращали не то?
Ответить с цитированием
  #5 (permalink)  
Старый 09.05.2015, 11:15
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 09.05.2015
Сообщений: 7

Rise,
хмммм ждал нечто другого ответа...
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2015, 08:32
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 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]"}]}"

что делаю не правильно? подскажите пожалуйста...
Ответить с цитированием
  #7 (permalink)  
Старый 20.05.2015, 06:49
Новичок на форуме
Отправить личное сообщение для Rasulov Посмотреть профиль Найти все сообщения от Rasulov
 
Регистрация: 09.05.2015
Сообщений: 7

есть у кого нибудь идея?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Вопрос по плагину highcharts karmis Элементы интерфейса 2 07.03.2012 15:14
Вопрос по each() и перебору строк таблицы battrack jQuery 1 09.02.2012 14:30
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49