0

我使用谷歌API显示的图表,我得到一个图表,但它没有显示在图表中该行使用谷歌API来显示实际的图表,无法在Javascript

这是我与尝试代码,我使用的图表阵列中的数据,

var jsonlength = data.feed.entry.length; 
var timestamp = new Array(jsonlength); 
var temperature = new Array(jsonlength); 
var tempid = new Array(jsonlength); 

for (var i = 0; i < jsonlength; i++) { 
    timestamp[i] = ((data.feed.entry[i].gsx$timestamp.$t)); 
    temperature[i] = ((data.feed.entry[i].gsx$temperaturevalue.$t)); 
} 

google.charts.load('current', {packages: ['corechart', 'line']}); 
google.charts.setOnLoadCallback(drawBasic); 

function drawBasic() { 
     var data = new google.visualization.DataTable(); 
     data1.addColumn('number', 'X'); 
     data1.addColumn('number', 'X'); 


    for (var i = 0; i < jsonlength; i++) { 
     console.log(i); 
     data1.addRows(i,data.feed.entry[i].gsx$temperaturevalue.$t); 
     //Here I can display all those values, But still not getting the chart, Though I have given proper values, Help me here 
     console.log(data.feed.entry[i].gsx$temperaturevalue.$t); 
    }   
     var options = { 
     hAxis: { 
      title: 'Date' 
     }, 
     vAxis: { 
      title: 'Temperature' 
     } 
     }; 
     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data1, options); 

这是我得到不换行输出,请帮助我,我是新来这个

Output without a line in the graph

回答

0

最有可能是由于'string'值与number

试试这个...

temperature[i] = (parseFloat(data.feed.entry[i].gsx$temperaturevalue.$t)); 

这里...

for (var i = 0; i < jsonlength; i++) { 
    timestamp[i] = ((data.feed.entry[i].gsx$timestamp.$t)); 
    temperature[i] = (parseFloat(data.feed.entry[i].gsx$temperaturevalue.$t)); 
} 

编辑

在这里,您可以创建data

var data = new google.visualization.DataTable(); 

但是然后你将列添加到data1 ???

data1.addColumn('number', 'X'); 
    data1.addColumn('number', 'X'); 

尝试同步起来变量名和检查以下addRow ...

var data1 = new google.visualization.DataTable(); 
    data1.addColumn('number', 'X'); 
    data1.addColumn('number', 'X'); 


for (var i = 0; i < jsonlength; i++) { 

    // use addRow -- which takes an array 
    data1.addRow([i,data.feed.entry[i].gsx$temperaturevalue.$t]); 

}   

    var options = { 
    hAxis: { 
     title: 'Date' 
    }, 
    vAxis: { 
     title: 'Temperature' 
    } 
    }; 

    var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
    chart.draw(data1, options); 
+0

没有,它不工作 –

+0

先生,我已经修改我的代码,请看看它 –

+0

看到__EDIT__以上... – WhiteHat