2013-05-05 4 views
0

Я пытаюсь прочитать данные из файла и отобразить данные на диаграмме Google Coloumn, однако я не могу видеть графики.Графики 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> 

Может ли кто-нибудь указать, где я иду не так?

+0

Можете ли вы показать нам JSON, возвращенный results.php ?. Кроме того, эти строки выглядят не очень хорошо: «for (i = 0; i rodrigoap

+0

Возвращенный JSON Форма ["Variable1 0.0035119381207293827 '89' 89.0351193812073", "Variable2 0.004451193812073 '] и т. д. –

ответ

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" 

Так что я не уверен, что вы пытаетесь визуализировать здесь, как литье это в целое только когда-нибудь, чтобы дать вам BFZ (большой жирный ноль).

Возможно, если вы предоставите более подробную информацию о том, что вы хотите видеть по этим данным, мы можем помочь больше.

А пока есть скрипка here, с которой можно играть.

+0

Я понял, что значение tslist слишком мало, чтобы быть построенным, и поэтому не смог его визуализировать. Вы натыкаетесь на цель относительно iclist и одинарных кавычек, спасибо за указание на это !! Ура! –

Смежные вопросы