Обновление диаграммы каждый раз при загрузке второго массива: Highcharts, Javascript - PullRequest
0 голосов
/ 21 ноября 2019

Итак, у меня есть условие в MySQL, чтобы сначала показывать первые 1000 точек данных, а затем другие 2000 точек данных в Highcharts.

if lastindex==0:
            cur.execute("SELECT data,value FROM table where id<1001")
        else:
            cur.execute("SELECT data,value FROM table where id>1001 and id<3000")
        data = cur.fetchall()  
//python Code to fetch SQL data

Теперь я делаю то, что яЯ рендеринг этих данных в Highcharts, данные отображаются. но проблема возникает в том, что после отображения первых 1000 точек данных значение Highcharts начинается с 0, а затем показывает другие 2000 точек

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

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

Вот фрагмент js

Highcharts.chart("chartcontainer", {
                chart: {
                    type: 'line',
                    animation: Highcharts.svg, // don't animate in old IE
                    marginRight: 10,
                    events: {
                        load: function() {

                            var series = this.series[0],
                                chart = this;

                            setInterval(function() {

                      //some logic regarding the chart
                       //..
                        v = {
                                                y: y,
                                                x: x
                                            };

                    console.log("V value", v);
                    series.addSeries(v, false, true);
                    counter++;
                    localcounter++;                                 
                }   else
                {

                    oldcounter=counter;
                    flagToreload=1;
                                    }
                            }, 1000/130);

                            setInterval(function() {
                                chart.redraw(false);
                            }, 100);
                        }
                    }
                },

                time: {
                    useUTC: false
                },

                title: {
                    text: 'Live random data'
                },
                xAxis: {

                    type: 'Value',

                    gridLineWidth: 1

                },
                yAxis: {
                    title: {
                        text: 'Value'
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#808080'
                    }],
                    gridLineWidth: 1
                },
                tooltip: {
                    headerFormat: '<b>{series.name}</b><br/>',
                    pointFormat: '{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}'
                },
                exporting: {
                    enabled: false
                },
                series: [{
                    animation: false,
                    name: 'Random data',
                    data: (function() {
                        // generate an array of random data
                        var data = [],
                            time = counter,
                            i;

                        for (i = -1000; i <= 0; i += 1) {
                            data.push([
                                counter,
                                null
                        ]);


                        }
                        return data;
                    }())
                }]
            });

моего Highchart. Я хочу просто добавить данные события, а не загружать всю диаграмму.

Как я могу перезагрузить определенное значение Highchart без перезагрузки всего графика?

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