2013-05-05 115 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