2016-03-05 17 views
1

我试图从DataView类的谷歌图表中的值到javascript数组,我似乎无法弄清楚。任何帮助都非常感谢。从谷歌图表中的DataView类获取价值到一个JavaScript数组

Image of Data

这里是我的代码:

<html> 
    <head> 
     <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
     <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
     <script type="text/javascript"> 
     google.load('visualization', '1', {'packages': ['table', 'corechart','controls']}); 
     google.setOnLoadCallback(initialize); 

    function initialize() { 
       // The URL of the spreadsheet to source data from. 
       var query = new google.visualization.Query(
       'https://docs.google.com/spreadsheets/d/11w3bG72wkWpqAneTRNwQWKzPsMaQgveYCe5OPvbq9CA/edit#gid=0'); 
       query.setQuery("select A, D"); 
       query.send(draw); 
      } 
      function draw(response) { 
       if (response.isError()) { 
        alert('Error in query'); 
       } 
       var frequency = response.getDataTable(); 
       var format1 = new google.visualization.DateFormat({pattern: "Hms"}); 
       format1.format(frequency, 0); 
       var view = new google.visualization.DataView(frequency); 
       var table = new google.visualization.Table(document.getElementById('table_div')); 
       view.setColumns([0]); 
       // to get the values from the view to array arr 
       var i; 
       var arr = []; 
       for(i in view){ 
        arr [i] = view.getValue(i, 0); 
       } 
       var x; 
       for(x in arr){ 
        document.write(arr[x]); 
       } 
      } 
      </script> 
      </head> 
      <body> 
      <div id="table_div"> 
      </div> 
      </body> 
      </html> 

回答

0

试试这个...

var i; 
var arr = []; 
for (i = 0; i < view.getNumberOfRows(); i++) { 
    arr.push(view.getValue(i, 0)); 
} 
+0

希望这可以帮助,也看到 - > [数据视图的方法(https://开头developers.google.com/chart/interactive/docs/reference#methods_2) – WhiteHat

+0

非常感谢。它解决了将它推入一个数组,但是当我使用document.write()来输出数组时,我得到了这个错误“无法在'Document'上执行'write':无法写入文档从一个异步加载的外部脚本,除非它明确打开。“有什么建议么? –