最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

echarts.js 動態(tài)生成多個圖表 使用vue封裝組件操作

 更新時間:2020年07月19日 09:05:15   作者:ange2017  
這篇文章主要介紹了echarts.js 動態(tài)生成多個圖表 使用vue封裝組件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

組件只做了簡單的傳值處理,記錄開發(fā)思路及echarts簡單使用。

這里默認所有圖表樣式一致,都為柱狀圖,如需其他類型,可查閱echarts官網(wǎng)文檔,再動態(tài)傳值即可。

vue 使用組件 ------在外層用v-for 循環(huán),傳不同值進charts 即可

   <!-- 傳入對應(yīng)的數(shù)據(jù)給子組件 -->
   <charts
    :options="item.select" 
    :id='"charts" +index'
    :index="index"
    style="width: 900px;height:400px;"
   ></charts>
   <!-- 傳入對應(yīng)的數(shù)據(jù)給子組件 end -->

vue創(chuàng)建子組件-----初始化空模板

 <!-- 圖表組件 -->
 <template>
  <div></div>
 </template>
 <!-- 圖表組件 end -->

主要部分 ------ 初始化echarts.js

Vue.component('charts', {
  template: '#charts',  
  // 傳入對應(yīng)的數(shù)值與動態(tài)index
  props: ['options', 'index'],
  methods: {
   initOption() {
   var that = this
   var arr1 = [] // x軸刻度
   var arr2 = [] // y軸數(shù)據(jù)值
 
    // 取出需要的數(shù)據(jù)
   this.options.forEach(element => {
    arr1.push(element.selectedTopic)
    arr2.push(element.peopleNum)
   })
 
   // 基于準備好的dom,初始化echarts實例
   var myChart = echarts.init(
    document.getElementById('charts' + this.index)
   )
 
   // 指定圖表的配置項和數(shù)據(jù)
   var option = {
    color: ['#3582F8'],
    tooltip: {
    trigger: 'axis',
    axisPointer: {
     // 坐標軸指示器,坐標軸觸發(fā)有效
     type: 'shadow' // 默認為直線,可選為:'line' | 'shadow'
    }
    },
    grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    containLabel: true
    },
    xAxis: [
    {
     type: 'category',
     data: arr1, // X軸的刻度
     axisTick: {
     alignWithLabel: true
     }
    }
    ],
    yAxis: [
    // y軸的刻度值自動調(diào)整
    {
     type: 'value'
    }
    ],
    series: {
    name: 'y軸數(shù)值',
    type: 'bar',
    barWidth: '60%',
    data: arr2 // 具體選擇數(shù)值
    }
   }
 
   // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
   myChart.setOption(option)
   }
  },
  mounted() {
   this.initOption()
  },
  created() {}
  })

補充知識:vue根據(jù)獲取的數(shù)據(jù)動態(tài)循環(huán)渲染多個echart(多個dom節(jié)點,多個ID)

//在dom節(jié)點加載之后調(diào)用渲染echart儀表盤方法,this.$nextTick(function(){ }

<div class="chart">
 
     <div class="geo" v-for="(dataval, index) in dataVal" :key="index" :id="forId(index)"></div>
 
</div>
methods: {
 forId:function(index){
  return "geo_" +index
 },
 
 mapTree() {
   this.$nextTick(function(){
    for(var i=0;i<this.dataVal.length;i++){
      //獲取id放入數(shù)組中,以便下面渲染echart儀表盤使用
     this.getId.push(this.$echarts.init(document.getElementById('geo_'+i)));
     this.getId[i].setOption({
      title: {
       text: this.dataVal[i].name+'棟',
       textStyle: {
        color: '#00f2f1',
        fontSize: 14
       },
       left: 'center',
       top: 5
      },
      tooltip: {
       formatter: '{a} <br/>{c}'
      },
      series:[
      {
       name: '工作電表數(shù)',
       type: 'gauge',
       radius: '80%',
       min: 0,
       max: Number(this.dataVal[i].sum),
       splitNumber: 10,
       axisLine: {      // 坐標軸線
        lineStyle: {    // 屬性lineStyle控制線條樣式
          color: [[0.30, '#ff4500'], [0.80, '#1e90ff'], [1, 'lime']],
          width: 1,
          shadowColor: '#fff', //默認透明
        }
       },
       axisLabel: {      // 坐標軸小標記
        color: '#fff',
        shadowColor: '#fff', //默認透明
        shadowBlur: 10
       },
       axisTick: {      // 坐標軸小標記
        length: 4,    // 屬性length控制線長
        lineStyle: {    // 屬性lineStyle控制線條樣式
          color: 'auto',
          shadowColor: '#fff', //默認透明
          shadowBlur: 10
        }
       },
       splitLine: {      // 分隔線
        length: 7,     // 屬性length控制線長
        lineStyle: {    // 屬性lineStyle(詳見lineStyle)控制線條樣式
         width: 2,
         color: '#fff',
         shadowColor: '#fff', //默認透明
         shadowBlur: 10
        }
       },
       pointer: {      // 分隔線
        width:4,//指針的寬度
        length:"70%", //指針長度,按照半圓半徑的百分比
        shadowColor: '#fff', //默認透明
        shadowBlur: 5
       },
       title: {
        textStyle: {    // 其余屬性默認使用全局文本樣式,詳見TEXTSTYLE
         fontWeight: 'bolder',
         fontSize: 10,
         fontStyle: 'italic',
         color: '#fff',
         shadowColor: '#fff', //默認透明
         shadowBlur: 10
        }
       },
       detail: {
        fontSize: 12,
       },
       data: [{value: this.dataVal[i].normalSum, name: ''}]
      }]
     });
    }
   })
  }
}

以上這篇echarts.js 動態(tài)生成多個圖表 使用vue封裝組件操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零開始在vue-cli4配置自適應(yīng)vw布局的實現(xiàn)

    從零開始在vue-cli4配置自適應(yīng)vw布局的實現(xiàn)

    這篇文章主要介紹了從零開始在vue-cli4配置自適應(yīng)vw布局,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • vue實現(xiàn)分頁組件

    vue實現(xiàn)分頁組件

    這篇文章主要為大家詳細介紹了vue實現(xiàn)分頁組件的具體代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • vue 修改 data 數(shù)據(jù)問題并實時顯示操作

    vue 修改 data 數(shù)據(jù)問題并實時顯示操作

    這篇文章主要介紹了vue 修改 data 數(shù)據(jù)問題并實時顯示操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue3?中ref和reactive的區(qū)別講解

    vue3?中ref和reactive的區(qū)別講解

    如果在template里使用的是ref類型的數(shù)據(jù),?那么Vue會自動幫我們添加.value,如果在template里使用的是reactive類型的數(shù)據(jù),?那么Vue不會自動幫我們添加.value,這篇文章主要介紹了vue3?中ref和reactive的區(qū)別,需要的朋友可以參考下
    2022-12-12
  • vue 和vue-touch 實現(xiàn)移動端左右導(dǎo)航效果(仿京東移動站導(dǎo)航)

    vue 和vue-touch 實現(xiàn)移動端左右導(dǎo)航效果(仿京東移動站導(dǎo)航)

    這篇文章主要介紹了vue 和vue-touch 實現(xiàn)移動端左右導(dǎo)航效果(仿京東移動站導(dǎo)航),需要的朋友可以參考下
    2017-04-04
  • vue.js實例todoList項目

    vue.js實例todoList項目

    本篇文章主要介紹了vue.js實例todoList項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue watch如何深度監(jiān)聽數(shù)組每一項的變化

    vue watch如何深度監(jiān)聽數(shù)組每一項的變化

    這篇文章主要介紹了vue watch如何深度監(jiān)聽數(shù)組每一項的變化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 使用jenkins一鍵打包發(fā)布vue項目的實現(xiàn)

    使用jenkins一鍵打包發(fā)布vue項目的實現(xiàn)

    這篇文章主要介紹了使用jenkins一鍵打包發(fā)布vue項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • vue如何集成raphael.js中國地圖的方法示例

    vue如何集成raphael.js中國地圖的方法示例

    最近的數(shù)據(jù)統(tǒng)計項目中要用到中國地圖,也就是在地圖上動態(tài)的顯示某個時間段某個省份地區(qū)的統(tǒng)計數(shù)據(jù),我們不需要flash,僅僅依靠raphael.js以及SVG圖像就可以完成地圖的交互操作。本文就給大家介紹了關(guān)于利用vue集成raphael.js中國地圖的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08
  • Vue 中 toRefs() 和 toRef() 的使用方法

    Vue 中 toRefs() 和 toRef() 的使用方法

    在 Vue 3 中,toRefs()可以將響應(yīng)式對象的屬性轉(zhuǎn)換為可響應(yīng)的 refs,主要用于在解構(gòu)響應(yīng)式對象時,保持屬性的響應(yīng)性,這篇文章主要介紹了Vue 中 toRefs() 和 toRef() 的使用,需要的朋友可以參考下
    2025-01-01

最新評論

康平县| 若羌县| 阜阳市| 周至县| 淮阳县| 永年县| 宁城县| 竹溪县| 海晏县| 镇原县| 盐源县| 漾濞| 彩票| 呼玛县| 新安县| 济源市| 阿拉善右旗| 唐海县| 子洲县| 石林| 自治县| 安宁市| 边坝县| 邵阳县| 揭阳市| 新邵县| 临漳县| 璧山县| 朝阳区| 礼泉县| 九台市| 威海市| 舒城县| 华宁县| 阜新市| 高唐县| 周至县| 清河县| 太仓市| 上蔡县| 红原县|