Обновление диаграммы текущими значениями, добавление второй строки

#javascript #ajax #dynamic #highcharts #linechart

#javascript #ajax #динамический #графики высоких значений #линейная диаграмма

Вопрос:

Я пытаюсь добавить вторую строку к своей диаграмме, но, похоже, у меня не получается правильно добавить строку. Моя первая строка получает новые точки с помощью ajax-запроса, и это отлично добавляет. Когда я пытаюсь добавить вторую строку к тому же графику, я добавляюсь в легенду, но она не отображается на моем графике. Вот мой код

 var series = this.series[0];
                var series1 = this.series[1];
                setInterval(function () {
    $.getJSON('http://10.175.129.10/output_file.json', function(data) 
            {
            pp_time_offset_value =`${(data[0].pp_time_offset )}`
            var par = parseInt(pp_time_offset_value);

            time_offset_value =`${(data[0].time_offset )}`
            var par2 = parseInt(time_offset_value);

                    var x = (new Date()).getTime(); // current time
                     //y = par;#

                    <!-- y= Math.random() * (500 - 200)   200 -->
                    series.addPoint([x, par,par2], true, true);
                    //series.addPoint([x, ], true, true);
                    console.log( par2);
                    });
                }, 1000);
            }
        }
    },


    exporting: {
        enabled: false
    },
    series: [{
        name: 'pp_time_offset',
        data: (function () {
            yyy=2;
            //yyy =`${(data[0].graph_value )}`
            // generate an aray of random data
            var data = [],
                time = (new Date()).getTime(),
                i;

            for (i = -60; i <= 0; i   ) {
                data.push({
                    x: time   i * 500,
                 //   y: Math.random() * (-15000 - 00)   200
                });
            }
            return data;

        }())
    },
     {
        name: 'time offset',
          data: (function () {
            yyy=2;
            //yyy =`${(data[0].graph_value )}`
            // generate an aray of random data
            var data = [],
                time = (new Date()).getTime(),
                i;

            for (i = -60; i <= 0; i   ) {
                data.push({
                    x: time   i * 500,
                 //   y: Math.random() * (-15000 - 00)   200
                });
            }
            return data;

        }())
    }]
});
  

Ответ №1:

Итак, проблема решена, проблема заключалась в том, что я присваивал новую строку старым данным и перезаписывал ее. Решение

                 var series = this.series[0];
                var series1 = this.series[1];
                setInterval(function () {

                $.getJSON('http://10.175.129.10/output_file.json', function(data) 
            {
            pp_time_offset_value =`${(data[0].pp_time_offset )}`
            var par = parseInt(pp_time_offset_value);

            time_offset_value =`${(data[0].time_offset )}`
            var par2 = parseInt(time_offset_value);

                    var x = (new Date()).getTime(); // current time
                     //y = par;#

                    <!-- y= Math.random() * (500 - 200)   200 -->
                    series.addPoint([x, par], true, true);
                    series1.addPoint([x,par2], true, true);
                    console.log( par2);
                    });
                }, 1000);
            }
        }
    },
  

Комментарии:

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

2. Спасибо. Я пытался, но получаю сообщение об ошибке, в котором говорится, что я не могу принять ответ еще в течение 2 дней.