Echarts後台option物件

2021-09-23 18:58:33 字數 2532 閱讀 3132

最近在工作中使用到了echarts來製作圖表,在網上搜了好多例子幾乎都是千篇一律的在前台寫死一些js,然後把變數通過ajax或者遍歷集合的方式插進去,這樣子一旦某一頁面的圖表一多,就會異常混亂,偶然在開源中國看到有人做成了個echarts物件的jar包,在後台進行完美封裝傳回乙個option在前台接收了並set進option即可。試了試,效果非常好。

下面給出例子**:

該方法返回的keyword指向了前台負責圖表顯示的jsp頁面

[html]view plain

copy

print

?public string keyword()   

return "keyword" ;   

}  

該方法根據jsp的ajax傳回來顯示的條數datenum進行資料庫取值(這地方我沒有使用實時拿值,而是通過定時來把資料更新進一張表,從而圖表拿值會非常迅速)

可以看出我定義了乙個option物件,裡面的引數都可以在裡面以方法或者屬性的方式呼叫。最後封裝好option後,把他放入jsonobject物件傳回前台一接收json值即可。

[html]view plain

copy

print

?public string getkeyworddata() throws parseexception  

string riqiarr

= new

string[num] ;  

for(int j

=num

;j>

0;j--)   

option option

=new

gsonoption();  

option.tooltip().trigger(trigger.axis);  

option.legend().data(legendname);  

valueaxis axis

= new

valueaxis();  

axis.type(axistype.category).boundarygap(false).data(riqiarr);  

option.xaxis(axis);  

categoryaxis yaxis

= new

categoryaxis();  

yaxis.type(axistype.value);  

option.yaxis(yaxis);  

list<

series

>

seriess

= new

arraylist

<

series

>

() ;  

markpoint mp

= new

markpoint() ;  

mp.data(new data().type(marktype.max).name("最大值"),  

new data().type(marktype.min).name("最小值")) ;  

for(int i=0

;i<

names.size

();i++)   

line.name(name).type(seriestype.line).data(countarr).markpoint(mp) ;  

seriess.add(line) ;  

}  option.series(seriess);  

jsonobj

=jsonobject

.fromobject(option.tostring());  

return "echartsjson";  

}  

頁面顯示部分很簡潔。

[html]view plain

copy

print

?<

divid

="main"

style

="height: 400px; border: 1px solid #ccc; padding: 10px;"

>

圖形正在載入中...

div>

[html]view plain

copy

print

?$(function());  

[html]view plain

copy

print

?function drawechart(ec) );  

var date

= $("#datenum").val() ;  

$.ajax(,  

url : "$/statistics/statistics!getkeyworddata.action",  

datatype : "json",  

success : function(data) ,  

error : function(errormsg)   

});  

}  

echarts 自動生成option配置

echarts 圖形y軸一般情況下只有一條,但是x軸可能有n 0 1 2 條,如果需要大量重複的圖形,但是只是x軸的條數不一樣的 通過傳遞的二維陣列判斷x軸的條數,生成相應的配置,而不用為x軸的不同而寫echarts的不同的option,前提是專案中需要大量 echats圖的基礎。由於專案中只是用了...

echarts整合多個類似option的方法例項

前言 最近專案裡面遇到一些圖表需要用echarts來做。而我之前只用過一次echarts,也只是做了乙個簡單的餅狀圖,並沒有涉及到很多的配置。但是現在這個專案,這些圖表需要自己配置很多東西。像什麼多餘的網格線不顯示啊,每個柱子的不一樣的顏色漸變啊,這些都還好。問題在乙個頁面有多個柱狀圖,而這些柱狀圖...

ECharts顯示後台傳送的JSON資料

廢話不多說,直接上 一 定義乙個後台資料儲存類 public class bardto public void setname string name public string gettype public void settype string type public listgetdata p...