1

嗨,我需要一些帮助来向 highcharts 添加额外的点系列。我让它实时更新,但只能让一个点正常工作,但可以让第二个点出现,但不是正确的值。

我在 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 是数字。

函数调用数据,然后传递给highcharts进行绘制:

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 并且无法弄清楚。任何帮助是极大的赞赏

4

2 回答 2

2

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

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

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

于 2012-07-11T06:02:55.670 回答
1

嗨,我正在查看并得到以下解决方案

 $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: []
            }]
于 2013-03-13T21:18:23.800 回答