使用实时值更新图表,添加第二行

时间:2019-03-05 12:43:58

标签: javascript ajax dynamic highcharts linechart

我正在尝试向图表添加第二条线,但似乎无法正确添加该线。我的第一行使用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 个答案:

答案 0 :(得分:0)

好的,这样就解决了问题,问题是我正在将新行分配给旧数据并覆盖它。解决方案

                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);
            }
        }
    },