Jqplot: динамически получайте метки и метки по оси x.

Я работаю над jqplot с Groovy на Grails. Я передаю данные в виде списка, и я хочу заполнить метки и отметки оси X. Для одного ярлыка он работает нормально, но как я могу повторить?

             series:[ 
                {label:'${labelList[0]}'},
                {label:'aaa'},
                {label:'bbb'},
                {label:'ccc'},
                {label:'ddd'}
            ],

Я не использую объект Json. Поэтому любая помощь в решении вышеуказанной проблемы будет оценена по достоинству. Спасибо.


person Swap905    schedule 11.05.2012    source источник


Ответы (1)


Если я вас правильно понимаю, вы хотите иметь возможность установить в своем коде случайное количество меток, верно? Вы можете использовать JavaScript для построения серии массивов и просто установить ее в серию графика.

var labelList = ["Label1", "L2", "Oi", "Bro"];
var series = [];

for(var i = 0; i < labelList.length; i++){
    var label = labelList[i];
    console.log("label = "+label);
    series.push({label:label});
}
for(var i = 0; i < series.length ; i++)
    console.log("series[i] = "+series[i].label);

Вот пример рабочего кода.

Затем в вашем графике:

$.jqplot('chart', [data], {
   series: series
});
person Boro    schedule 11.05.2012
comment
: Спасибо за ответ. То, что вы сказали, работает хорошо. Но я получаю этот список меток как динамическую переменную, поэтому для доступа к нему мне нужно использовать ${labelList}. И в firebug я вижу переменную, интерпретируемую как [aaa,bbb]. Но это не работает. Хотя, если это жестко запрограммировано, как вы сказали, тогда оно работает. Ответ будет оценен. - person Swap905; 11.05.2012
comment
Как говорит @Swap905, пожалуйста, расскажите нам больше. Желательно, если это возможно, создать jsfiddle.net, представляющий проблему. - person Boro; 11.05.2012
comment
@Mark Когда я назначаю, var labelList = ${partnerList}, тогда это дает мне ошибку, что отсутствует ] после списка элементов [Break On This Error] var labelList = [aaa, bbb] и указывает стрелку на «aaa» в список. И когда я назначаю var labelList = '${partnerList}', который является допустимым одиночным кавычком, он рисует диаграмму, но метки назначаются как каждый алфавит «aaa» как другая метка, то есть три метки «a». - person Swap905; 14.05.2012