2013-07-10 65 views
0

我在我的頁面上有一個Highcharts線條圖,我目前正在開發一種方法來通過單擊或雙擊鏈接動態添加和刪除圖表中的系列。在Highcharts API中做一個for循環

所以我的問題是因爲我不知道有多少系列將在任何時候被選中,我不能硬編碼他們。所以我想知道是否有可能做一個for循環INSIDE Highcharts API代碼?事情是這樣的:

for (var i = 0; i < numberOfSeries; i++) { 
       series: [{ 
        name: i, 
        data: JSON.parse("[" + arraysOfData[i] + "]"), 
        marker: { 
         enabled: true, 
         symbol: 'circle', 
         radius: 1 
        } 
       }] 
} 

我似乎無法得到它的工作,但我不知道這是否是因爲我做錯了什麼,或者因爲API不允許這樣做。任何想法?

+0

我通常做我的循環之外的對象...將其分配給一個變量,然後將該變量放在系列:[]對象。但林不知道你試圖做什麼會以這種方式工作。正如你想要多個系列?不只是可變數據圖? – KyleK

+0

這可能或可能不會幫助你... http://stackoverflow.com/questions/14741912/how-can-i-display-the-outcome-of-the-for-loop-in-highcharts – KyleK

+0

是的,我已經在做你在說的了。我在變量中擁有我所有系列的數據。現在我需要將Highcharts代碼放入,具體取決於有多少個變量。 – AzzyDude

回答

0

您總是希望使用某些API方法處理圖表對象以外的數據。渲染空白圖表(或隱藏)在一個容器中,然後你可以做這樣的事情與圖表的方法:

$('#button').click(function() { 
    var chart = $('#container').highcharts(); 
    for (var i = 0; i < numberOfSeries; i++) { 
     chart.addSeries({ 
      name: i, 
      data: JSON.parse("[" + arraysOfData[i] + "]"), 
      marker: { 
        enabled: true, 
        symbol: 'circle', 
        radius: 1 
        } 
     }); 
    } 
}); 

來源:http://api.highcharts.com/highcharts#Chart.addSeries()

爲了去除系列:首先,找到內系列圖表對象,然後使用remove()方法。 消息來源:http://api.highcharts.com/highcharts#Series.remove()