2013-06-21 142 views
4

我想添加一些系列(我從webservice獲取系列數據作爲3dim數組(並將其作爲json返回) - 我不知道系列的數量我會得到,所以我必須加載系列數據動態地)。Highcharts動態添加系列

在javascript中我建立一個對象:(這樣highstock例如:http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/stock/demo/compare/

seriesOptions[i] = { 
    name: namearray[i], 
    data: dataarray 
}; 

e.g. result: [Object { name="Series", data=[[1041375600000, 29,9]]}] 

我嘗試添加該系列是這樣的:

$.each(seriesOptions, function (itemNo, item) { 
    chart.addSeries({       
     name: item.name, 
     data: item.data 
    }, false); 
}); 
chart.redraw(); 

但圖表繪製系列有點奇怪,並沒有轉換爲時間戳到日期。
我的web服務中的圖表數據有問題嗎?

這裏是我的代碼:http://jsfiddle.net/DGdaf/2/

感謝您的幫助迄今。

編輯
好像圖表ignoeres時間表/變焦值的所有默認值。 我不知道爲什麼它不顯示這些組件。
問題可能是,我在初始化後繪製圖表?

chart = new Highcharts.Chart(options); 

但我必須這樣做,因爲動態系列加載。

EDIT2
我不知道我是否加載了太多的數據或其他東西。我不能動態創建我的系列。

for(i=0; i<seriesOptions.length; i++){ 
     chart.addSeries({       
      name: seriesOptions[i].name, 
      data: seriesOptions[i].data 
     }, true); 

    }; 
+0

您可以添加到您的jsFiddle示例數據? –

+0

3dim數組和js對象的示例數據:http://jsfiddle.net/eAu32/ – spyfx

+0

看到我的回答在 –

回答

4

爲您的Y軸:

yAxis: { 
    type: 'datetime' 
} 

fiddle

編輯: 時間軸/變焦 http://jsfiddle.net/DGdaf/5/

編輯: 使用回叫加系列,當圖表已準備就緒。但是,爲什麼不在創建圖表時添加這些系列?

chart = new Highcharts.Chart(options, function(ch) { 

     $.each(seriesOptions, function (itemNo, item) { 
      ch.addSeries({       
       name: item.name, 
       data: item.data 
      }, false); 

     }); 
     chart.redraw(); 
    }); 
+0

以下看起來很奇怪:http://img823.imageshack.us/img823/2685/7y5l。 jpg我知道 - 我使用的數據比你多,但是idk爲什麼我的圖表將點劃分爲 – spyfx

+0

行,並且沒有時間軸/縮放值 – spyfx

+0

哪個時間軸/縮放?你爲什麼認爲這是錯誤的方式? –