Echarts動(dòng)態(tài)加載多條折線圖的實(shí)現(xiàn)代碼
背景:動(dòng)態(tài)加載多條折線圖,折線圖條數(shù)不確定
頁(yè)面效果:
頁(yè)面代碼
//氣象數(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ù) //將從后臺(tái)接收的json字符串轉(zhuǎn)換成json對(duì)象 var jsonobj = eval("(" + result + ")"); //給圖標(biāo)標(biāo)題賦值 //option.legend.data = jsonobj.legend; //讀取橫坐標(biāo)值 //option.xAxis[0].data = jsonobj.axis; var series_arr = jsonobj.series; //驅(qū)動(dòng)圖表生成的數(shù)據(jù)內(nèi)容,數(shù)組中每一項(xiàng)代表一個(gè)系列的特殊選項(xiàng)及數(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); } }) }
后臺(tái)封裝的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 + "]"; } }
后臺(tái)封裝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 ;//橫坐標(biāo) private List<Series> series;//數(shù)據(jù)項(xiàng) 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封裝
將對(duì)應(yīng)的東西傳入頁(yè)面即可
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);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)功能
本文主要介紹了js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)功能的實(shí)例代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03巧方法 JavaScript獲取超鏈接的絕對(duì)URL地址
這篇文章主要為大家詳細(xì)介紹了一個(gè)非常巧妙的方法,JavaScript如何獲取超鏈接的絕對(duì)URL地址,感興趣的小伙伴們可以參考一下2016-06-06讓插入到 innerHTML 中的 script 跑起來(lái)的實(shí)現(xiàn)代碼
在做 ajax 編程時(shí),我們常常需要將 xmlhttp 獲取到的頁(yè)面內(nèi)容通過(guò) innerHTML 來(lái)賦給某個(gè)容器(比如 div、span 或者 td 等),但是這里存在一個(gè)問(wèn)題,就是我們將要賦給 innerHTML 的頁(yè)面內(nèi)容如果包含有腳本程序,這些腳本程序不管是外部腳本,還是內(nèi)部腳本,可能(1)都不會(huì)被執(zhí)行。2006-07-07關(guān)于二級(jí)域名下使用一級(jí)域名下的COOKIE的問(wèn)題
我們通常在使用cookie的時(shí)候一般都只是局限在本站內(nèi)使用,也就是只在一個(gè)域名下使用2011-11-11JavaScript做大整數(shù)加法計(jì)算的代碼實(shí)現(xiàn)
這篇文章主要帶大家去了解前端如何做大整數(shù)加法計(jì)算,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09