以展示柱+折线图为例
1.后台数据获取,横坐标为天数
String legend = "[";//legend
String[][] yAxisDataLineTotal = null;//纵坐标 二维数组
String sqlJld = "select DISTINCT w.JLDBH from wbjc_yhrdlsj w WHERE w.YHID = "+yhbs+" and
MONTH('"+firstDayOfMonth+"')=month(w.JYRQ) order BY w.JLDBH";
List<Object> listJld = JPAUtil.executeNativeQuery(sqlJld);
if(listJld.size()>0){
yAxisDataLineTotal = new String[listJld.size()][] ;
for (int i = 0; i < listJld.size(); i++) {
String jldbh = listJld.get(i)+"";
if (i > 0) {
legend += ",";
}
legend +="\'"+ jldbh.substring(jldbh.length()-8,jldbh.length())+"\'";
if(!"null".equals(jldbh)&&!"".equals(jldbh)&&jldbh!= null){
String sqlDetail ="select w.JLDBH ,w.JYRQ,round(w.YGZDL/10000,2) from
wbjc_yhrdlsj w WHERE w.YHID = "+yhbs+" and"
+ " MONTH('"+firstDayOfMonth+"')=month(w.JYRQ) and w.JLDBH =
'"+jldbh+"' order BY w.JYRQ";
List<Object> listJldDetail = JPAUtil.executeNativeQuery(sqlDetail);
String [] yAxisDataLines = new String [XSize];
for (int j = 0; j < yAxisDataLines.length; j++) {
yAxisDataLines[j] = "";
}
//构造数据
for (int j = 0; j < listJldDetail.size(); j++) {
Object[] object = (Object[]) listJldDetail.get(j);
for (int k = 0; k < yAxisDataLines.length; k++) {
if(object[1].toString().equals(days[k])){
yAxisDataLines[k] = object[2].toString() ;
}
}
}
yAxisDataLineTotal[i] = yAxisDataLines ;
}
}
legend += "]";
2.处理option的写法
lineOption.series = lineChartDataLoader(legend, data);
mainChart.setOption(lineOption);
3.echars的option写法
var lineOption = {
title: {
text: '深圳月最低生活费组成(单位:元)',
},
tooltip: {
trigger: 'axis'
},
legend: {
data:[]
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: []
},
yAxis: {
name: '有功总电量(万kWh)',
type: 'value'
},
series: []
};
function lineChartDataLoader(legend, data){
var series = [];
debugger;
if(data !=null){
for(var i = 0; i < data.length; i++){
var item = {
name: legend[i],
type: 'line',
data: eval(data[i])
}
series.push(item);
};
}
return series;
}