2013-05-05 94 views
0

我想從文件中讀取數據並在Google Coloumn圖表上顯示數據,但是我無法看到這些圖表。谷歌圖表,無法繪製圖表

全局變量

var tslist = new Array(); 
var iclist = new Array(); 

在功能1,我獲得的數據顯示

function function1() 
{ 
var url="results.php"; 
var newcon=new XMLHttpRequest(); 
var temp; 
newcon.onreadystatechange=function() 
{ 
    if (newcon.readyState==4 && newcon.status==200) 
    { 
     temp=$.parseJSON(newcon.responseText); 
     for(i=0;i<temp.length-1;i++) 
     { 
     var data=temp[i].split(' '); 
     link.push(data[0]); 
     tslist.push(data[1]); 
     iclist.push(data[2]); 
     prlist.push(data[3]); 
     } 
     drawVisualization(); //to draw the graph 
    } 
} 
newcon.send(); 
} 

在drawVisualization功能我正在繪製圖形

function drawVisualization() 
{ 
var data = new google.visualization.DataTable(); 
var numRows = link.length; 
data.addColumn('string', 'UNo.'); 
data.addColumn('number', 'Data1'); 
data.addColumn('number','Data2'); 

    for(i=0;i<2;i++) 
    data.addRow([i.toString(),parseInt(iclist[i],10),parseInt(tslist[i],10)]); 

new google.visualization.ColumnChart(document.getElementById('chart')). 
draw(data,{title:"Comparison",hAxis: {title: "Serial"}}); 
} 

在HTML頁面我包括以下內容

<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript">  
    google.load('visualization', '1.0', {'packages':['corechart']}); 
</script> 

任何人都可以指出我哪裏出錯了嗎?

+0

你能告訴我們由results.php返回的JSON嗎?此外,這些行看起來不太好:「for(i = 0; i rodrigoap 2013-05-05 16:05:28

+0

返回的JSON是形式 [「變量1 0.0035119381207293827'89'89.0351193812073」,「變量2 0.004451193812073'60'59.04451193812073」]等 – 2013-05-05 16:12:20

回答

1

這裏有幾個問題...

首先,如果你要使用全局數組,你需要申報。鏈接和prlist是未申報因此引起的錯誤......

然後你的出發陣列:

var example = [ 
       "Variable1 0.0035119381207293827 '89' 89.0351193812073", 
       "Variable2 0.004451193812073 '60' 59.04451193812073" 
       ]; 

=>

link[0] = "Variable1" 
tslist[0] = "0.0035119381207293827" 
iclist[0] = "'89'" 
prlist[0] = "89.0351193812073" 

OK ......我想我明白你在說什麼

現在drawVis功能

一環...

for(i=0;i<2;i++) 

你真的只是想比較前兩套返回?

那麼,是什麼樣子的你的問題的主要原因這裏

data.addRow([i.toString(),parseInt(iclist[i],10),parseInt(tslist[i],10)]); 

兩個問題

parseInt(iclist[i],10) 

記住,iclist [0] = 「 '89'」。因此,由於單引號而失敗並返回NaN。你需要擺脫他們

.replace(/\'/g, "")); 

會這樣做。

再就是

parseInt(tslist[i],10) 

我們知道,

tslist[0] = "0.0035119381207293827" 

所以我不知道你要在這裏直觀地想象爲鑄造這爲int只曾經打算給你BFZ(大胖零)。

也許如果你提供了一些關於你想從這些數據中看到什麼的更多細節,我們可以提供更多幫助。

在此期間,有一個小提琴here玩。

+0

我意識到tslist的值太小而無法繪製,因此無法將其可視化。您對iclist和單引號感興趣的目標感興趣,並指出它!乾杯! – 2013-05-07 08:20:28