1

こんにちは、ハイチャートに追加のポイント シリーズを追加する際に助けが必要です。ライブで更新していますが、1 つのポイントしか正しく動作しませんが、2 番目のポイントを表示できますが、正しい値ではありません。

私は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を始めたばかりで、それを理解することはできません. どんな助けでも大歓迎です

4

2 に答える 2

2

pointタイプが json の場合は、次のコードを試してください。

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

が json でない場合pointは、それに応じて、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 に答える