2013-05-31 38 views
0

我正在嘗試使用the interval role這兩個值爲我使用CSV數據中的Perl腳本生成的Google圖表添加最小和最大限制。谷歌折線圖中不顯示區間角色i-lines

不幸的是,我的折線圖並未顯示在我的折線圖上,儘管爲了測試的目的我已將最小值和最大值設置爲-100和100。只有正在顯示

主要數據:

enter image description here

可有人請發現錯誤,有什麼問題我非常簡單的測試案例?

請只保存下面的代碼爲HTML文件並打開一個瀏覽器:

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['corechart']}]}"></script> 
<script type="text/javascript"> 

     var data = {"L_B8_ACLR_50_0_QPSK_1_H":{"rows":[ 
      {"c":[{"v":"UTRA_1_DOWN"},{"v":-100},{"v":100},{"v":"-42.46912"}]}, 
      {"c":[{"v":"E-UTRA_1_DOWN"},{"v":-100},{"v":100},{"v":"-39.9545"}]}, 
      {"c":[{"v":"E-UTRA_1_UP"},{"v":-100},{"v":100},{"v":"-48.68408"}]}, 
      {"c":[{"v":"UTRA_1_UP"},{"v":-100},{"v":100},{"v":"-49.45148"}]}, 
      {"c":[{"v":"UTRA_2_UP"},{"v":-100},{"v":100},{"v":"-58.96674"}]}], 

      "cols":[ 
      {"p":{"role":"domain"},"label":"MEASUREMENT","type":"string"}, 
      {"p":{"role":"interval"},"label":"LSL","type":"number"}, 
      {"p":{"role":"interval"},"label":"USL","type":"number"}, 
      {"p":{"role":"data"},"label":"1142926087","type":"number"}]}}; 

     function drawCharts() { 
       for (var csv in data) { 
         var x = new google.visualization.DataTable(data[csv]); 

         var options = { 
           title: csv, 
           width: 800, 
           height: 600 
         }; 

         var chart = new google.visualization.LineChart(document.getElementById(csv)); 
         chart.draw(x, options); 
       } 
     } 

     $(function() { 
       google.setOnLoadCallback(drawCharts); 
     }); 

</script> 
</head> 
<body> 
<div id="L_B8_ACLR_50_0_QPSK_1_H"></div> 
</body> 
</html> 

(我不希望使用方法,如addColumnaddRows相反,我準備我的數據作爲數據結構。在我的Perl腳本中,然後JSON編碼並將其傳遞給DataTable ctr)。

+1

這非常奇怪 - 你的語法似乎已經死灰復燃,我無法看清任何問題,並且仔細閱讀文檔。您是否嘗試過使用'addRows'和'addColumns'方法創建相同的對象,並將其與您的代碼創建的對象進行比較,以查看是否可以發現差異?畢竟,它們應該最終成爲同一個對象。這可能是Google的一個錯誤嗎? – jmac

回答

1

您必須在數據列之後指定interval-role列。至於寫在API

以外的所有領域的列列應用到最近的左鄰居,它可以應用於

因此,如果您更改順序(這裏有一些規模較小的間隔)

var data = {"L_B8_ACLR_50_0_QPSK_1_H":{"rows":[ 
      {"c":[{"v":"UTRA_1_DOWN"},{"v":"-42.46912"},{"v":-50},{"v":-45}]}, 
      {"c":[{"v":"E-UTRA_1_DOWN"},{"v":"-39.9545"},{"v":-50},{"v":-45}]}, 
      {"c":[{"v":"E-UTRA_1_UP"},{"v":"-48.68408"},{"v":-50},{"v":-45}]}, 
      {"c":[{"v":"UTRA_1_UP"},{"v":"-49.45148"},{"v":-50},{"v":-45}]}, 
      {"c":[{"v":"UTRA_2_UP"},{"v":"-58.96674"},{"v":-50},{"v":-45}]}], 

      "cols":[ 
      {"p":{"role":"domain"},"label":"MEASUREMENT","type":"string"}, 
      {"p":{"role":"data"},"label":"1142926087","type":"number"}, 
      {"p":{"role":"interval"},"label":"LSL","type":"number"}, 
      {"p":{"role":"interval"},"label":"USL","type":"number"} 
      ]}};  

..你結束:

enter image description here