在网上找了好多echarts的ajax写法,还有蛋疼的饼状图ajax,无奈网上100%不好使。。。。
自力更生。。。。。。。。。。。。。。。。。
***绝对好使***
//初始化空数组
var year = new Array();
var GSdata = new Array();
var DJdata = new Array();
// AJAX获取数据
$.ajax({
// 方式
type: "GET",
// 是否异步
async: false,
// 路径
url: "data/data.json",
//返回数据形式为json
dataType: "json",
// 加载成功
success: function(result) {
if (result) {
for (var i = 0; i < result.length; i++) {
year.push(result[i].year);
GSdata.push(parseInt(result[i].GS));
DJdata.push(parseInt(result[i].DJ));
}
return year;
return GSdata;
return DJdata;
}
},
// 加载错误
error: function(errorMsg) {
alert("请求数据失败!");
}
});
//初始化
var myChart = echarts.init(document.getElementById('main'), 'dark');
// 配置项
var option = {
title: {
text: '工数代几挂科率',
subtext: '纯属虚构,不过应该也差不多'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['工数', '代几']
},
toolbox: {
show: true,
feature: {
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar'] },
restore: { show: true },
saveAsImage: { show: true }
}
},
calculable: true,
xAxis: [{
type: 'category',
data: year
}],
yAxis: [{
type: 'value',
axisLabel: {
formatter: '{value}%'
}
}],
series: [{
name: '工数',
type: 'bar',
data: GSdata,
markPoint: {
data: [
{ type: 'max', name: '最高' },
{ type: 'min', name: '最低' }
]
},
markLine: {
data: [
{ type: 'average', name: '平均值' }
]
}
}, {
name: '代几',
type: 'bar',
data: DJdata,
markPoint: {
data: [
{ type: 'max', name: '最高' },
{ type: 'min', name: '最低' }
]
},
markLine: {
data: [
{ type: 'average', name: '平均值' }
]
}
}]
};
// 为echarts对象加载数据
myChart.setOption(option);