欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

echarts整合多個(gè)類似option的方法實(shí)例

 更新時(shí)間:2018年07月10日 09:50:40   作者:錦年與panda  
這篇文章主要給大家介紹了關(guān)于echarts整合多個(gè)類似option的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近項(xiàng)目里面遇到一些圖表需要用echarts來做。而我之前只用過一次echarts,也只是做了一個(gè)簡單的餅狀圖,并沒有涉及到很多的配置。但是現(xiàn)在這個(gè)項(xiàng)目,這些圖表需要自己配置很多東西。像什么多余的網(wǎng)格線不顯示啊,每個(gè)柱子的不一樣的顏色漸變啊,這些都還好。問題在一個(gè)頁面有多個(gè)柱狀圖,而這些柱狀圖除了數(shù)據(jù)和顏色不一樣其他的都一毛一樣。最后模仿老大做的整合多個(gè)option自己做了一個(gè)demo,自己寫了詳細(xì)的注釋。

效果圖如下:

html代碼如下:

<!-- 為ECharts準(zhǔn)備一個(gè)具備大小(寬高)的Dom -->
 <div id="chart1" style="width: 300px;height:300px;"></div>
 <div id="chart2" style="width: 300px;height:300px;"></div>
 <div id="chart3" style="width: 300px;height:300px;"></div>
 <div id="chart4" style="width: 300px;height:300px;"></div>
 <script src="aa.js"></script>
 <script>
 new aa();
 </script>

js代碼如下:

function aa(){
 //初始化加載圖表
 this.initchart();
}
aa.prototype = {
 initchart:function(){
  //定義每個(gè)圖表的顏色數(shù)組,我這里是漸變色的柱子,有四個(gè)
   var color = [ "#ad3f3b", "#df8380","#89a54e","#b7c894","#3c8d91","#78b1b5","#db853c","#f2b582"];
  var dex = 0;
  //遍歷裝圖表的盒子
  for(var i = 1; i <= 4; i++){
   //把echarts初始化圖表的方法提出來通過拼接id的方法找到每個(gè)div的id
   var chart = echarts.init(document.getElementById('chart'+ i));
   //把option做成一個(gè)變量,通過傳參來初始化每個(gè)圖 new echarts.graphic.LinearGradient是eachsrts柱子漸變的方法
   //傳遞的參數(shù)有圖表的名字,漸變的顏色,和所對(duì)應(yīng)的單位
   var option = this.optionFun("銷售額", new echarts.graphic.LinearGradient(0,0,0,1,[
    {offset:0,color: color[dex++]},
    {offset:1,color:color[dex++]}
   ]), "單位");
    //常規(guī)操作 為echarts對(duì)象加載數(shù)據(jù) 
   chart.setOption(option);
  }
 },
 //然后接下來都是一些echarts的一些常規(guī)配置
 optionFun:function(title,color,unit){
  var option = {
   title:{
    text:title,
    left:'center',
    textStyle:{
     fontStyle:'normal',
     fontSizeL:'14px',
    },
    top:'top',
   },
   xAxis:{
    type:'category',
    data:['目標(biāo)','完成'],
    axisLine:{
     lineStyle:{
      color:'#999',
     },
    },
    axisLabel:{
     textStyle:{
      color:'#333',
     },
    },
   },
   yAxis:{
    type:'value',
    name:unit,
    nameLocation:'start',
    nameTextStyle:{
     color:'#333',
    },
    axisLine:{
     lineStyle:{
      color:'#999',
     }
    },
    axisLabel:{
     textStyle:{
      color:'#333',
     },
    },
    splitLine:{
     show:false,
    },
   },
   series:[{
    data:data,//后臺(tái)傳過來的數(shù)據(jù)[98,57]
    type:'bar',
    barWidth:20,
    itemStyle:{
     normal:{
      color:color,
      barBorderRadius:2,
      shadowColor:'rgba(4,13,31,0.5)',
      shadowBlur:5,
      shadowOffsetX:2,
      shadowOffsetY:0,
      label:{
       show:true,
       position:'top',
       textStyle:{
        color:'#333',
       },
      },
     }
    }
   }],
  };
  //將option返回
  return option;
 }
}

其實(shí)后來發(fā)現(xiàn),echarts一些常規(guī)的配置在官方給的文檔里面都有,就是自己不太熟悉。最主要的還是自己掌握的東西太少了,不懂的融會(huì)貫通。也更加清楚了js對(duì)于一個(gè)前端來說是多么的重要。而我自己也在不斷的努力中,很感謝我老大,很多不懂的地方問他,他都會(huì)幫我解決。繼續(xù)加油吧。

注:這個(gè)配置目前不支持圖表數(shù)量超過所定義的顏色數(shù)量后顏色循環(huán),或許以后多研究下可以實(shí)現(xiàn),但是目前是不支持的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論