为高图实时数据添加一个附加点


Add an additional point to highcharts live data

嗨,我需要一些帮助,在高图中添加一个额外的点序列。我让它实时更新,但只能获得一个点来正确工作,但可以获得第二个点来出现,但不能获得正确的值。

我在一个php文件(dashchart.php)中有以下内容:

//CREATE AN ARRAY AND ECHO AS JSON
    $ret = array($x, $y);
    $ret2 = array($x, $y1);
    echo json_encode($ret);
    echo json_encode($ret2);

$x只是一个UNIX时间戳,$y是数字。

函数调用数据,然后传递到高图以绘制:

function requestData() {
        $.ajax({
            url: 'api_dashchart.php', 
            success: function(point) {
                var series = chart.series[0],
                shift = series.data.length > 20; // shift if the series is longer than 20
                // add the point
                chart.series[0].addPoint(eval(point), true, shift);
                // add the point
                chart.series[1].addPoint(eval(point), true, shift);
                // call it again after one second
                setTimeout(requestData, 1000);  
            },
            cache: false
        });
    }

我知道它一定是非常基本的东西,但我刚开始使用Javascript,无法理解。非常感谢您的任何帮助

如果point的类型为json:,请尝试以下代码

    var pointChart = new Array(point[0].xValue, point[0].yValue);
chart.series[0].addPoint(pointChart, true, shift);

如果point不是json,那么相应地在pointChart的定义中给出该点的xValue和yValue的值。

hi我看到了这个,得到了下面的解决方案

 $ret = array($x, $value1 , $value2);

然后

success: function(point) {
            var series = chart.series[0],
                shift = series.data.length > 20; // shift if the series is longer than 20
                 var series = chart.series[1],
                    shift = series.data.length > 20;

            // add the point
            chart.series[0].addPoint([point[0], point[1]], true, shift);
            chart.series[1].addPoint([point[0], point[2]], true, shift);

然后

series: [{
                name: 'Point1',
                data: []
            }, {
                name: 'Point2',
                data: []
            }]