【问题标题】:Unable to display actual chart using Google API in Javascript无法在 Javascript 中使用 Google API 显示实际图表
【发布时间】:2017-04-05 15:26:01
【问题描述】:

我正在使用 Google API 显示图表,我得到了一个图表,但它没有在图表中显示该线,

这是我正在尝试的代码,我正在使用数组数据来制作图表,

 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

【问题讨论】:

    标签: javascript graph linechart google-visualization


    【解决方案1】:

    很可能是由于'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);
    

    【讨论】:

    • 先生,我修改了我的代码,请看一下
    • 这个问题好运吗?
    猜你喜欢
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多