Google规格图表显示未知标题类型:24

时间:2014-02-02 06:50:16

标签: javascript google-visualization

根据我的知识,这是我的代码。因为我成功创建了类似的PIE图表,

错误是:Unknown Header Type : 24

我认为错误是从csv文件解析数据。但它在string& int表格。

有人能说出这里的问题。

    <html>    
      <head>    
        <script type="text/javascript" src="https://www.google.com/jsapi"></script>    
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>    
    <script src="http://jquery-csv.googlecode.com/files/jquery.csv-0.71.js"></script>    
        <script type="text/javascript">    
          google.load("visualization", "1", {packages:["gauge"]});    
          google.setOnLoadCallback(drawChart);    
        function drawChart() {    
           // grab the CSV    
           $.get("Chart2-data.csv", function(csvString) {    
              // transform the CSV string into a 2-dimensional array    
              var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});    
            //alert(arrayData);    
              // this new DataTable object holds all the data    
              var data = new google.visualization.arrayToDataTable(arrayData);   

              // this view can select a subset of the data at a time    
              var view = new google.visualization.DataView(data);    
              view.setColumns([0,1]);   

             // set chart options    
             var options = {    
            title: "A Chart from a CSV!",    
            hAxis: {title: data.getColumnLabel(0), minValue: data.getColumnRange(0).min, maxValue: data.getColumnRange(0).max},    
            vAxis: {title: data.getColumnLabel(1), minValue: data.getColumnRange(1).min, maxValue: data.getColumnRange(1).max},    
            legend: 'none'    
             };   
            var chart = new google.visualization.Gauge(document.getElementById('gauge'));    
            chart.draw(data, options);    
    });    
          }    
        </script>    
      </head>    
      <body>    
        <div id="gauge" style="width: 900px; height: 500px;"></div>    
     </body>
    </html

>

csv数据:

Engine,24

min,34

max,0

yellowFrom,10

yellowTo,6

redFrom,6

redTo,0

1 个答案:

答案 0 :(得分:6)

我遇到了同样的问题。

在我的数据库结果上使用Firebug我能够确定问题是谷歌库将数值威胁为数组头。

我的数组如下

[['234 234  - ',234.00],['234 234  - ',234.00],['cuarta zzzzzzzzz prueba htmlzzzzzzz  - ',654999.00],['fulanita de tal  - ',150.00],['fulanita de tal  - ',133.00],['Mario Alvarez Alvarez - tony',125143.20],['otra5555 prueba5555  - ',1866.00],['prieba de insert actualizando  - ',1101.00],['prueba 888  - ',987.00],['prueba con html  - ',854.00],['prueba de guardado  - ',123.00],['prueba de insert  - ',369.00],['prueba insert actualizando 02 - ',753.00],['prueba666 7777  - ',1547.00],['prueba666 7777  - ',1547.00],['prueba88888 de guardado8888  - ',1576.00],['tercera prueba  - ',98765.00]]

我的javascript错误是:

Error: Unknown header type: 234

Google Visualization API参考中解释了该解决方案:

  

google.visualization.arrayToDataTable(twoDArray,opt_firstRowIsData)   Check this link for detailed info

您必须明确告诉库第一行是数据,而不是标题。我将第二个参数添加为true:

var data = google.visualization.arrayToDataTable(vArray, true);

PD:我的网络应用程序工作正常,直到几天前。我猜谷歌对图书馆做了一些改动。

希望我的解释会帮助你