highcharts与ajax相结合,发现数据不显示的问题

在我进行结合时,遇到问题就是我们要在统计图上展示的数据拿不出来。

将我们获取的值赋给highcharts,但是却不显示。

我发现问题的所在:数据类型不对,highcharts这个希望的是数字类型,所以我们把这个进行类型的转换。

简单的程序如下


   		
$(function(){
	//alert('1');
	$.ajax({
                type: "GET", 
                url: 'scada1.php', 
				dataType: "json",
				data: {'id':'',
                },
                success: function (data) {
                //alert('success');
				var html='';
				//var num =eval(data)[3][0];
				//var scadadata=eval(data);
				var y=new Array();
				var x = new Array();
				//var b=new Array(new Array());
				//b=eval(data);
				for(i=0;i<12;i++){
				  html = html+''+eval(data)[i][0]+''+eval(data)[i][1]+''+eval(data)[i][2]+''+eval(data)[i][3]+''+eval(data)[i][4]+'';
                  x[i] = eval(data)[i][0];
                  y[i] = parseInt(eval(data)[i][1]);//注意要把这个y坐标的数据转化为数字类型
   }
  // alert(abc);
   var title = {
      text: '温度变化曲线'   
   };
   //var subtitle = {
   //   text: 'Source: runoob.com'
   //};
   var xAxis = {
      categories: x
   };
   //xAxis.categories[i]=eval(data)[i][0];
   //alert(xAxis.categories);
   
   var yAxis = {
      title: {
         text: 'Temperature (\xB0C)'
      },
      plotLines: [{
         value: 0,
         width: 1,
         color: '#808080'
      }]
   };   

   var tooltip = {
      valueSuffix: '\xB0C'
   };

   var legend = {
      layout: 'vertical',
      align: 'right',
      verticalAlign: 'middle',
      borderWidth: 0
   };

   //abc=[30,40,50,60,70,80,50,30,40,10,20,10];//可以通过这个数组来给他赋值
   //alert(abc[0]);
   var series =  [
      {
         name: '汇管温度',
         data: y
      }
   ];
   //alert(series[0].name);
   //series[0].data[i]=eval(data)[i][1];
   //alert(series[0].data[i]);
   var json = {};

   json.title = title;
   //json.subtitle = subtitle;
   json.xAxis = xAxis;
   json.yAxis = yAxis;
   json.tooltip = tooltip;
   json.legend = legend;
   json.series = series;

   $('#container').highcharts(json);
});  
});  



你可能感兴趣的:(ajax和php)