簡體   English   中英

為Google圖表創建數據數組

[英]Create data array for google charts

我正在使用Google圖表,我想用數據數組創建一個簡單的條形圖。 如果我像這樣手動寫出數據數組,則圖表運行良好:

 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'];  
         }

如果我打印出兩個數組,它們看起來相同 ,但是由於某種原因,谷歌圖表不接受第二個數據數組。 有什么建議么?

我使它起作用,但我真的不知道為什么它起初沒有起作用。 用循環構造數組后(請參見上面的代碼),我將執行以下操作:

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

如您所見,我正在從數組中創建一個名為data的新變量,也稱為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);

圖表最終顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM