2012-07-06 86 views
0

我已經嘗試過類似的例子,通過stackoverflow以及Highcharts支持,但仍然無法獲得圖形正確顯示。試圖顯示用格式小時,溫度從csv文件數據的花鍵曲線圖中的示例示出如下:Javascript HighCharts解析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> 

我的圖形顯示,但沒有數據。有任何想法嗎? 謝謝..

回答

2

您需要添加一個二維數組作爲數據。您可以聲明一個全局變量並將數據添加到該變量。

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

series: [{ 
       data: chartData 
      }]