echart圖形列表展示數(shù)據(jù)

一個(gè)純Javascript的圖表庫,創(chuàng)新的拖拽重計(jì)算、數(shù)據(jù)視圖、值域漫游等特性大大增強(qiáng)了用戶體驗(yàn),賦予了用戶對(duì)數(shù)據(jù)進(jìn)行挖掘、整合的能力。 ?

支持折線圖(區(qū)域圖)、柱狀圖(條狀圖)、散點(diǎn)圖(氣泡圖)、K線圖、餅圖(環(huán)形圖)、雷達(dá)圖(填充雷達(dá)圖)、和弦圖、力導(dǎo)向布局圖、地圖、儀表盤、漏斗圖、事件河流圖等12類圖表,同時(shí)提供標(biāo)題,詳情氣泡、圖例、值域、數(shù)據(jù)區(qū)域、時(shí)間軸、工具箱等7個(gè)可交互組件,支持多圖表、組件的聯(lián)動(dòng)和混搭展現(xiàn)。


echart

頁面上的效果調(diào)整基于它的組件:

tooltip:

提示框,鼠標(biāo)懸浮交互時(shí)的信息提示。

showDelay20顯示延遲,添加顯示延遲可以避免頻繁切換,特別是在詳情內(nèi)容需要異步獲取的場景,單位ms

hideDelay100隱藏延遲,單位ms

legend:

僅僅只能有一個(gè)

data[]數(shù)組顯示如下列


圖例參數(shù)

Title 標(biāo)題

title: { text:title,x:'center',y: 'bottom'} 設(shè)置標(biāo)題位置


設(shè)置標(biāo)題

Grid:

控制圖表在div中的位置

xAxis

xAxis : [

{ type : 'category',

data : data.xList,

axisLabel:{

interval:0,//全部顯示

rotate:-90,//旋轉(zhuǎn)90°

show:true,

margin:9,

textStyle:{ color: 'blue', fontSize:15 }

} } ]

Axis


前臺(tái)方法:

function getBwqx(time,ycmc){

var title ="異常歷史曲線";

var yname = "異常終端數(shù)";

var chart4 = echarts.init(document.getElementById("chart4"));

? var option = {

? ? tooltip : {

? ? ? ? trigger: 'axis'

? ? },

? ? legend: {

? ? ? ? data:[],

? ? ? ? y:'top'

? ? },

? ? title: {

? text:title,

? x:'center',

? y: 'bottom'

? },

? grid:{

? ? y:100

? },

? ? xAxis : [

? ? ? ? {

? ? ? ? ? ? type : 'category',

? ? ? ? ? ? boundaryGap : false,

? ? ? ? ? ? data : []

? ? ? ? }

? ? ],

? ? yAxis : [

? ? ? ? {

? ? ? ? ? ? type : 'value',

? ? ? ? ? ? axisLabel : {

? ? ? ? ? ? ? ? formatter: '{value}'

? ? ? ? ? ? },

? ? ? ? ? ? name : yname

? ? ? ? }

? ? ],

? ? series : []//



};

chart4.setOption(option);

$.ajax({

async : true,

data : {

sjrq: time,

ycmc: ycmc,

chart:"chart4"

},

url : "${ctxPath}/Text.html?method=getBwqxt&ycmc="+ycmc,

type : "post",

dataType : "json",

success : function(data) {

var series=[];

//后臺(tái)返回這種格式的集合

//拼裝數(shù)據(jù)格式{xList=[2019-06-21, 2019-06-22], tList=[報(bào)文中無業(yè)務(wù)數(shù)據(jù), 報(bào)文錯(cuò)誤], yList=[[1, 2, 1, 3, ], [1, 1, 1, 0, ]]}

Map<String, Object>?map = new HashMap<String, Object>();

for(var i =0; i<data['tList'].length; i++){

series.push({

name : data['tList'][i],

type : 'line',

data : data['yList'][i]

});

}

? ? ? ? ? ? option.legend.data = data.tList;

? ? ? ? ? ? option.xAxis[0].data = data.xList;

? ? ? ? ? ? option.series = series;

? ? ? ? ? ? chart4.setOption(option, true);

}

});

}

每個(gè)圖表需要展示的數(shù)據(jù)格式不一樣

在比如餅圖顯示


數(shù)據(jù)格式

Map<List<String>,List<List<String>>> map = ?new HashMap<>;

[{"area":["襄城區(qū)","樊城區(qū)","襄州區(qū)","高新區(qū)","東津新區(qū)","襄陽市直","棗陽市","宜城市","老河口市","南漳縣","??悼h","谷城縣"],"listmonth":["2017-04","2017-05","2017-06"],"listscore":[[32.54,47.99,38.64,40.27,35.94,49.92,46.64,39.49,39.25,45.87,40.29,40.81],[32.36,42.06,41.27,39.6,48.35,49.54,41.46,38.65,37.45,47.14,40.69,42.42],[32.36,46.81,42.5,39.38,0,52.84,46.06,42.47,37.75,47.1,42.81,40.63]]}]

循環(huán)方法如下:

series : [

? ? ? ? {

? ? ? ? ? ? name:'訪問來源',

? ? ? ? ? ? type:'pie',

? ? ? ? ? ? radius : '55%',

? ? ? ? ? ? center: ['50%', '60%'],

? ? ? ? ? ? data:[

? ? ? ? ? ? ? ? {value:335, name:'直接訪問'},

? ? ? ? ? ? ? ? {value:310, name:'郵件營銷'},

? ? ? ? ? ? ? ? {value:234, name:'聯(lián)盟廣告'},

? ? ? ? ? ? ? ? {value:135, name:'視頻廣告'},

? ? ? ? ? ? ? ? {value:1548, name:'搜索引擎'}

? ? ? ? ? ? ]

? ? ? ? }

? ? ]

代碼實(shí)現(xiàn):

success : function(responseText) {

? ? ? ? ? ? var seriesData = responseText;

? ? ? ? ? //循環(huán)內(nèi)容list,我返回的結(jié)果為list<Map<String>,Object>

? ? ? ? ? ? for(var i = 0 ;i<seriesData.length;i++){//餅狀圖內(nèi)容需要的格式為 {name:a,value:1}

? ? ? ? ? ? ? ? datas.push({

? ? ? ? ? ? ? ? ? ? name : seriesData[i].VALUE,

? ? ? ? ? ? ? ? ? ? value : seriesData[i].NAME? ? ?

? ? ? ? ? ? ? ? }); ? ? ? ? ? ?

? ? ? ? ? ? ? ? data_.push(

? ? ? ? ? ? ? ? seriesData[i].VALUE ? ?

? ? ? ? );

? ? ? ? ? ? ? ? }

? ? ? ? ? ? option.series[0].data = datas;

? ? ? ? ? ? option.legend.data = data_;

? ? ? ? ? ? chart2.setOption(option, true);

? ? ? ? }



// 過渡---------------------

myChart.showLoading({

? ? text: '正在努力的讀取數(shù)據(jù)中...',? ? //loading話術(shù)

});

// ajax getting data...............

// ajax callback

myChart.hideLoading();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容