2013-03-11 40 views
0

目前無法獲取數據在高圖上顯示。Highchart圖不繪圖 - CSV

我從CSV文件導入數據並繪製此數據。 CSV文件採用以下格式:

"Row1","Row2","Row3" 
"1362567600","67882833572","63034526585" 
"1362571200","67834631584","63250345463" 
"1362574800","67886235392","63654664341" 
"1362578400","67883347248","63683239219" 
"1362582000","67884373456","63905665096" 

CSV文件中每行有44個元素。

我目前正在導入它以下列方式:

$(document).ready(function() { 
    var c = []; 
    var d = []; 
    var e = []; 

    $.get('test.csv', function(data) { 
     var lines = data.split('\n'); 
     $.each(lines, function(lineNo, line) { 
      var items = line.split(','); 
      c.push(items[0]); 
      d.push(items[1]); 
      e.push(items[2]); 
     }); 
     createGraph('container', 'line', 'Graph 1', c[0],d[0],c); 
    }); 

}); 

功能createGraph採取PARAMATERS - DIVID(指定什麼div來顯示圖形; graphType,graphTitle,一號線,2號線和graphCategories 。

我建立一個數組 - seriesData [],並使用以下的for循環將數據添加到它:

seriesData[0] = "["; 
for (var i = 1; i < graphCategories.length - 1; i++){ 
    seriesData[i] = "["+(graphCategories[i].replace(/["']{1}/gi,"")*1000)+","+876+"],"; 
} 
seriesData.push("],"); 

當登錄在控制檯上此數組繪製我用的是圖時

[,[1362567600000,876],,[1362571200000,876],,[1362574800000,876],,[1362578400000,876],,], 

然後:它看起來像這樣

series: [{ 
      name: line1,   
      data: seriesData 
     }] 

(還有另一條線,但爲了簡單起見,我只顯示了一個)。

我的問題是,爲什麼沒有顯示在圖上?我得到以下輸出:

Highchart Example

感謝您的幫助。

回答

1

這條線看起來不對。我不認爲你需要添加[或]到你的數組。

我會做更是這樣的:

for (var i = 1; i < graphCategories.length - 1; i++){ 
    // Push the x value. 
    seriesData[i].push(graphCategories[i].replace(/["']{1}/gi,"")*1000); 
    // Push the y value. 
    seriesData[i].push(876); 
} 
+0

經與推麻煩..顯然,對象爲null或undefined;我已經使用 'var seriesData = [];' – HelloWorld 2013-03-11 11:16:06

+0

設置了seriesData文件的更多信息現在我有圖形繪製點,但是沒有任何線條。 – HelloWorld 2013-03-11 11:42:05

+0

解決!非常感謝史蒂夫。 – HelloWorld 2013-03-11 11:50:14