在我进行结合时,遇到问题就是我们要在统计图上展示的数据拿不出来。
将我们获取的值赋给highcharts,但是却不显示。
我发现问题的所在:数据类型不对,highcharts这个希望的是数字类型,所以我们把这个进行类型的转换。
简单的程序如下
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
$(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+'<tr id="datanow"><th>'+eval(data)[i][0]+'</th><th>'+eval(data)[i][1]+'</th><th>'+eval(data)[i][2]+'</th><th>'+eval(data)[i][3]+'</th><th>'+eval(data)[i][4]+'</th></tr>';
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);
});
});