0

我已经通过 stackoverflow 和 Highcharts Support 尝试了类似的示例,但仍然无法正确显示图表。尝试使用格式为小时、温度的 csv 文件中的数据显示样条图,如下面的示例所示:

22,84
23,83
00,82
01,81
02,79
03,77
04,75

这是我目前拥有的 html/javascript:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="../../js/highcharts.js"></script>
    <script src="../../js/modules/exporting.js"></script>


    <script type="text/javascript">

    $(document).ready(function() {

    var time = [];
    var temp = [];

    $.get('forecast.csv', function(data) {
               var lines = data.split('\n');
               $.each(lines, function(lineNo, line) {
                var items = line.split(',');
                time.push(parseInt(items[0]));
                temp.push(parseInt(items[1]));
               });
        });

        var options = {
          chart: {
             renderTo: 'container',
              type: 'spline'
          },
          title: {
              text: 'Temperature Forecast'
          },
          xAxis: {
             title: {
                text: 'Hour'
             },
             categories: time
          },      
          yAxis: {
                 title: {
                    text: 'Temperature'
                 }
          },
          series: [{
                 data: temp
          }]
          };                      

    var chart = new Highcharts.Chart(options);

    });

    </script>
</head>

<body>

    <div id="container" style="width: 100%; height: 400px"></div>

</body>

我的图表显示,但没有数据。有任何想法吗?谢谢..

4

1 回答 1

2

您需要添加一个二维数组作为数据。您可以声明一个全局变量并将数据添加到该变量。

var chartData=[]
    var dataTemp = new Array(parseInt(items[0]), parseInt(items[1]));
chartData.push(dataTemp);

series: [{
                 data: chartData
          }]
于 2012-07-06T09:52:35.390 回答