2014-11-23 69 views
1

我正在使用谷歌圖表,我想用數據數組創建一個簡單的條形圖。然而爲谷歌圖表創建數據數組

var data = [['Municipality', 'CWR', {role: 'style'}], 
        ['Kleinharras', 4.15,'color: #e5e4e2'], 
        ['Stillfried', 4.87,'color: #e5e4e2'], 
        ['Grub an der March', 4.95,'color: #e5e4e2'], 
        ['Großschweinbarth', 3.92,'color: #e5e4e2'],]; 

    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var data = google.visualization.arrayToDataTable(data); 

    var options = { 
     title: 'Crop Water Requirement [mm]', 
     vAxis: {title: 'Municipality', titleTextStyle: {color: 'black'}} 
    }; 

var chart = new google.visualization.BarChart(document.getElementById('chart_div')); 

    chart.draw(data, options); 
    } 

,如果我想用一個循環,它不工作,圖表犯規節目自動創建數據數組::如果我手動寫出來的數據陣列這樣,圖表工作正常

var data = [['Municipality', 'CWR', {role: 'style'}]]; 
     for (i = 0; i < valuesx.length; i++) { 
       data[i + 1] = [valuesx[i], valuesy[i], 'color: #e5e4e2']; 
     } 

如果我打印出兩個陣列,他們看起來一模一樣,但由於某些原因谷歌圖表不接受第二個數據數組。有什麼建議麼?

+0

確保'valuesy [i]'是數字而不是字符串。 – Jumpei 2014-11-24 07:37:03

+0

它的一個數組,我檢查過。 – maRtin 2014-11-24 16:50:38

回答

0

我做了它的工作,但我真的不知道爲什麼它沒有工作擺在首位。 我陣列環路建成後(見上面的代碼),我執行以下操作:

var data = google.visualization.arrayToDataTable(data); 

正如你所看到的,我創建從我的數組的新變量命名的數據也被稱爲數據。這是錯誤發生。

如果我簡單地重命名我的數據陣列,即,DATA2,像這樣:

var data2 = [['Municipality', 'CWR', {role: 'style'}]]; 
      for (i = 0; i < valuesx.length; i++) { 
        data2[i + 1] = [valuesx[i], valuesy[i], 'color: #e5e4e2']; 
      } 

並運行此命令:

var data = google.visualization.arrayToDataTable(data2); 

圖表最後示出。