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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(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-11JavaScript做大整數(shù)加法計算的代碼實現(xiàn)
這篇文章主要帶大家去了解前端如何做大整數(shù)加法計算,文中通過代碼示例介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09