Echarts動態(tài)加載多條折線圖的實現(xiàn)代碼
更新時間:2019年05月24日 09:24:20 作者:哈哈超級
這篇文章主要介紹了Echarts動態(tài)加載多條折線圖的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
背景:動態(tài)加載多條折線圖,折線圖條數(shù)不確定
頁面效果:


頁面代碼
//氣象數(shù)據(jù)
function serchQx(beginTime, endTime, str, parameter) {
$("#rr").html("");//將循環(huán)拼接的字符串插入下拉列表
var t = $("#imageParameter").val();
$
.ajax({
type : "POST",
data : {
"str" : str,
"beginTime" : beginTime,
"endTime" : endTime,
"parameter" : parameter,
"t" : t
},
url : "${pageContext.servletContext.contextPath}/dataAnalysis/serch.action",
success : function(result) {
var aa = [];
var tmp=[];
if (parameter == 1) {
aa.push('單位(℃)');
//option.yAxis[0].name = aa;
} else if (parameter == 2) {
aa.push('單位(%)');
//option.yAxis[0].name = aa;
} else if (parameter == 3) {
aa.push('單位(KPa)');
//option.yAxis[0].name = aa;
} else if (parameter == 4) {
aa.push('單位(w/㎡)');
//option.yAxis[0].name = aa;
} else if (parameter == 5) {
aa.push('單位(mm)');
//option.yAxis[0].name = aa;
} else if (parameter == 6) {
aa.push('單位(m/s)');
//option.yAxis[0].name = aa;
}
//處理數(shù)據(jù)
//將從后臺接收的json字符串轉(zhuǎn)換成json對象
var jsonobj = eval("(" + result + ")");
//給圖標標題賦值
//option.legend.data = jsonobj.legend;
//讀取橫坐標值
//option.xAxis[0].data = jsonobj.axis;
var series_arr = jsonobj.series;
//驅(qū)動圖表生成的數(shù)據(jù)內(nèi)容,數(shù)組中每一項代表一個系列的特殊選項及數(shù)據(jù)
for (var i = 0; i < series_arr.length; i++) {
var datas=[];
for(var j=0;j<series_arr[i].data.length;j++){
var n=series_arr[i].data[j];
var time=series_arr[i].time[j];
var data=[time,n];
datas.push(data);
}
//轉(zhuǎn)換Series
temp = {
name: series_arr[i].name,
type: "line",
data: datas
};
tmp.push(temp)
//option.series.push(temp);
}
myChart.clear();
//myChart.setOption(option,true);
myChart.setOption({ //加載數(shù)據(jù)圖表
color : colors,
tooltip : {
trigger : 'axis'
},
dataZoom : {
show : true,
start : 0,
realtime : true
},
legend : {
data : jsonobj.legend
},
grid : {
top : 70,
bottom : 50
},
calculable: true,
xAxis : [ {
type : 'time',
boundaryGap : [ 0, 100 ],
axisLabel : {
textStyle : {
fontSize : "10px"
}
}
}
],
yAxis : [ {
name : aa,
type : 'value',
} ],
series : tmp},true);
}
})
}
后臺封裝的Series
/**
*
*/
package com.myhope.domain;
import java.util.List;
/**
* Description:<br/>
* Copyright (c) , 2017, Jansonxu <br/>
* This program is protected by copyright laws. <br/>
* Program Name:Series<br/>
* Date:2019年1月14日
*
* @author
* @version : 1.0
*/
public class Series {
private String name;
private String type;
private List<Double> data;
private List<String> time;
public Series(String name, String type, List<Double> data, List<String> time) {
super();
this.name = name;
this.type = type;
this.data = data;
this.time = time;
}
public List<String> getTime() {
return time;
}
public void setTime(List<String> time) {
this.time = time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<Double> getData() {
return data;
}
public void setData(List<Double> data) {
this.data = data;
}
public Series() {
super();
}
@Override
public String toString() {
return "Series [name=" + name + ", type=" + type + ", data=" + data + ", time=" + time + "]";
}
}
后臺封裝Echarts
/**
*
*/
package com.myhope.domain;
import java.util.List;
/**
* Description:<br/>
* Copyright (c) , 2017, Jansonxu <br/>
* This program is protected by copyright laws. <br/>
* Program Name:Echarts<br/>
* Date:2019年1月14日
*
* @author
* @version : 1.0
*/
public class Echarts {
private List<String> legend;//name
private List<String> axis ;//橫坐標
private List<Series> series;//數(shù)據(jù)項
private List<DataAnalysisTable> dataAnalysisTables;
public Echarts(List<String> legend, List<String> axis, List<Series> series,
List<DataAnalysisTable> dataAnalysisTables) {
super();
this.legend = legend;
this.axis = axis;
this.series = series;
this.dataAnalysisTables = dataAnalysisTables;
}
public Echarts() {
super();
}
public List<String> getLegend() {
return legend;
}
public void setLegend(List<String> legend) {
this.legend = legend;
}
public List<String> getAxis() {
return axis;
}
public void setAxis(List<String> axis) {
this.axis = axis;
}
public List<Series> getSeries() {
return series;
}
public void setSeries(List<Series> series) {
this.series = series;
}
public List<DataAnalysisTable> getDataAnalysisTables() {
return dataAnalysisTables;
}
public void setDataAnalysisTables(List<DataAnalysisTable> dataAnalysisTables) {
this.dataAnalysisTables = dataAnalysisTables;
}
@Override
public String toString() {
return "Echarts [legend=" + legend + ", axis=" + axis + ", series=" + series + ", dataAnalysisTables="
+ dataAnalysisTables + "]";
}
}
Action封裝
將對應(yīng)的東西傳入頁面即可
Echarts echarts = new Echarts(legend, newAxis, series,); String jsonString = com.alibaba.fastjson.JSONObject.toJSONString(echarts);
初始化Echarts文件
var dom = document.getElementById("xsl");
var myChart = echarts.init(dom);
myChart.showLoading({
text : "圖表數(shù)據(jù)正在努力加載..."
});
var app = {};
app.title = '多 X 軸示例';
var colors = [ '#5793f3', '#d14a61', '#675bba', "#00FF00", "#FFFF00" ];
option = {
color : colors,
tooltip : {
trigger : 'axis'
},
dataZoom : {
show : true,
start : 0,
realtime : true
},
legend : {
data : []
},
grid : {
top : 70,
bottom : 50
},
calculable: true,
xAxis : [ {
type : 'time',
boundaryGap : [ 0, 100 ],
axisLabel : {
textStyle : {
fontSize : "10px"
}
}
}
],
yAxis : [ {
name : [],
type : 'value',
} ],
series : []
};
myChart.clear();
myChart.setOption(option, true);
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
讓插入到 innerHTML 中的 script 跑起來的實現(xiàn)代碼
在做 ajax 編程時,我們常常需要將 xmlhttp 獲取到的頁面內(nèi)容通過 innerHTML 來賦給某個容器(比如 div、span 或者 td 等),但是這里存在一個問題,就是我們將要賦給 innerHTML 的頁面內(nèi)容如果包含有腳本程序,這些腳本程序不管是外部腳本,還是內(nèi)部腳本,可能(1)都不會被執(zhí)行。2006-07-07
關(guān)于二級域名下使用一級域名下的COOKIE的問題
我們通常在使用cookie的時候一般都只是局限在本站內(nèi)使用,也就是只在一個域名下使用2011-11-11
JavaScript做大整數(shù)加法計算的代碼實現(xiàn)
這篇文章主要帶大家去了解前端如何做大整數(shù)加法計算,文中通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-09-09

