0

我正在尝试从文件中读取数据并在 Google 柱形图上显示数据,但是我看不到图表。

全局变量

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

在function1中,我正在获取要显示的数据

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>

谁能指出我哪里出错了?

4

1 回答 1

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"

好的...我想我明白你在说什么

现在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(大胖零)。

也许如果您提供更多关于您希望从这些数据中看到的内容的详细信息,我们可以提供更多帮助。

与此同时,这里有一把小提琴可以玩。

于 2013-05-06T04:46:44.263 回答