Динамическое добавление флагов, создающих проблемы, HighCharts - PullRequest
1 голос
/ 16 сентября 2011

Итак, я спросил пару дней назад Здесь , какие графики можно использовать для фондовых приложений, и я, наконец, остановился на HighCharts Просто потому, что это так здорово.

Теперь моя диаграмма отображается так, как и ожидалось.

Подсвечник диаграммы http://i54.tinypic.com/2jaat85.png

Следующий шаг для меня - установить на них флаги. Что я могу сделать при создании самой диаграммы, и она выглядит так:

Подсвечник с флагом http://i55.tinypic.com/o5ozt4.png

// some code here
series: [{
                        id: "dataSeries",
                        name: "datadata",
                        type: "candlestick",
                        data: items
                    },{
                         id: "flagSeries",
                         name: "flagflag",
                         type: "flags",
                         data: [{
                             x: 1301651400000,
                             title: 'B',
                             text: 'Shape: "circlepin"'
                         }]
                    }]
// some code here

Но когда я пытаюсь сделать то же самое динамически, как указано здесь , я получаю сообщение об ошибке Uncaught TypeError: Cannot read property 'shift' of undefined

//some code here
series: [{
                        id: "dataSeries",
                        name: "datadata",
                        type: "candlestick",
                        data: items
                    },{
                         id: "flagSeries",
                         name: "flagflag",
                         type: "flags",
                         data: []
                    }]
//some code here
$('button').click(function(){
var ser = chart.get("flagSeries");
                console.log(ser);
                ser.addPoint({
                    x: 1301672700000,
                    title: 'C',
                    text: 'Shape: "circlepin"'
                });
});
//some code here

Почему это работает, но не тогда, когда я пытаюсь это сделать? :(

1 Ответ

1 голос
/ 03 октября 2011

Большое спасибо @ c69, который помог мне в этом.

Очевидно, версия, которую они выдавали для загрузки, была не той, которую они использовали в jsFiddle.

Также я пытался использовать функцию getData, которая вызвала у меня проблемы (из-за ошибки в highcharts.js).Но позже мы поняли и начали использовать метод addPoint.

Теперь все работает: D

var entry_servlet = 'SOMESERVLET'

    $.getJSON(entry_servlet, function(ret_data) {

        $.each(ret_data, function(key, val) {

            var dat = ret_data[key].date;
            var tim = ret_data[key].time;

            var o = ret_data[key].o;
            var h = ret_data[key].h;
            var l = ret_data[key].l;
            var c = ret_data[key].c;



            datArr = dat.split('/');
            timArr = tim.split(':');

            var UTCthing;


            UTCthing = Date.UTC(datArr[2],datArr[0]-1,datArr[1],timArr[0],timArr[1],timArr[2]);



            window.buck_chart.series[1].addPoint(
                    { 

                            name:'title',
                            title: "B", 
                            x: UTCthing,
                            color: '#009f3c',
                           text: "Price:  " + o + " time:  " + tim                                              
                    },true,false);  

    });

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...