2012-07-11 18 views
1

您好,我需要一些幫助才能爲highcharts增加一個額外的積分系列。我現在正在更新,但只能得到一個點正確工作,但可以得到第二個點出現,但不是正確的值。增加一個點給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和不能弄明白。任何幫助是極大的讚賞

回答

2

嘗試下面的代碼,如果point的類型是JSON的:

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

如果point沒有那麼JSON相應地pointChart的定義給予x值和點的y值的值。

+0

好了,所以我現在有: 的成功:功能(點){ \t \t \t \t \t var series = chart.series [0], \t \t \t \t \t shift = series.data.length> 20; //如果該系列長於20,則移位 \t \t \t \t \t var pointChart = new Array(point [0] .xValue,point [0] .yValue); \t \t \t \t \t var pointChart = new Array(point [1] .xValue,point [1] .yValue); \t \t \t \t \t //添加點 \t \t \t \t \t chart.series [0] .addPoint(EVAL(點),真實,移位); \t \t \t \t \t //添加點 \t \t \t \t \t chart.series [1] .addPoint(EVAL(點),真實,移位);」 這似乎並沒有奏效。 – 2012-07-11 20:43:00

+0

您需要使用「chart.series [0] .addPoint(pointChart,true,shift);」和「point [0] .xValue」中的「xValue」,它意味着要用作xAxis中值的參數的名稱。 「yValue」也一樣。 – 2012-07-12 01:30:14

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: [] 
      }] 
相關問題