简体   繁体   English

无法在Javascript中使用Google API显示实际图表

[英]Unable to display actual chart using Google API in Javascript

I am displaying a chart using Google API and I am getting a chart but it is not displaying that line in the graph, 我正在使用Google API显示图表,但是却没有在图表中显示该线,

This is the code I am trying with, I am using array data for charts, 这是我正在尝试的代码,我正在使用图表的数组数据,

 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);

This is the output I am getting without a line, Please help me I am new to this 这是我一直没有得到的输出,请帮助我,我是新手

Output without a line in the graph 在图中没有线条的输出

most likely is due to 'string' values vs. number 最可能是由于'string'值与number

try this... 尝试这个...

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

here... 这里...

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));
}

EDIT 编辑

here, you create data 在这里,您创建data

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

but then you're adding columns to data1 ??? 但是然后您将列添加到data1

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

try syncing up the variable names and check addRow below... 尝试同步变量名称并在下面检查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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM