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

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

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

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

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

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

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

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

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

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

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

補(bǔ)充知識(shí):vue根據(jù)獲取的數(shù)據(jù)動(dòng)態(tài)循環(huán)渲染多個(gè)echart(多個(gè)dom節(jié)點(diǎn),多個(gè)ID)

//在dom節(jié)點(diǎn)加載之后調(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: {      // 坐標(biāo)軸線
        lineStyle: {    // 屬性lineStyle控制線條樣式
          color: [[0.30, '#ff4500'], [0.80, '#1e90ff'], [1, 'lime']],
          width: 1,
          shadowColor: '#fff', //默認(rèn)透明
        }
       },
       axisLabel: {      // 坐標(biāo)軸小標(biāo)記
        color: '#fff',
        shadowColor: '#fff', //默認(rèn)透明
        shadowBlur: 10
       },
       axisTick: {      // 坐標(biāo)軸小標(biāo)記
        length: 4,    // 屬性length控制線長(zhǎng)
        lineStyle: {    // 屬性lineStyle控制線條樣式
          color: 'auto',
          shadowColor: '#fff', //默認(rèn)透明
          shadowBlur: 10
        }
       },
       splitLine: {      // 分隔線
        length: 7,     // 屬性length控制線長(zhǎng)
        lineStyle: {    // 屬性lineStyle(詳見lineStyle)控制線條樣式
         width: 2,
         color: '#fff',
         shadowColor: '#fff', //默認(rèn)透明
         shadowBlur: 10
        }
       },
       pointer: {      // 分隔線
        width:4,//指針的寬度
        length:"70%", //指針長(zhǎng)度,按照半圓半徑的百分比
        shadowColor: '#fff', //默認(rèn)透明
        shadowBlur: 5
       },
       title: {
        textStyle: {    // 其余屬性默認(rèn)使用全局文本樣式,詳見TEXTSTYLE
         fontWeight: 'bolder',
         fontSize: 10,
         fontStyle: 'italic',
         color: '#fff',
         shadowColor: '#fff', //默認(rèn)透明
         shadowBlur: 10
        }
       },
       detail: {
        fontSize: 12,
       },
       data: [{value: this.dataVal[i].normalSum, name: ''}]
      }]
     });
    }
   })
  }
}

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

相關(guān)文章

  • vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼

    vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼

    本文主要介紹了vue實(shí)現(xiàn)微信公眾號(hào)h5跳轉(zhuǎn)小程序的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Vue使用.sync 實(shí)現(xiàn)父子組件的雙向綁定數(shù)據(jù)問題

    Vue使用.sync 實(shí)現(xiàn)父子組件的雙向綁定數(shù)據(jù)問題

    這篇文章主要介紹了Vue使用.sync 實(shí)現(xiàn)父子組件的雙向綁定數(shù)據(jù),需要的朋友可以參考下
    2019-04-04
  • vue axios調(diào)用接口方法報(bào)錯(cuò)500 internal server error的兩種解決方法

    vue axios調(diào)用接口方法報(bào)錯(cuò)500 internal server err

    前端使用axios 訪問后端接口時(shí)報(bào)錯(cuò),在瀏覽器中點(diǎn)擊紅色的報(bào)錯(cuò)數(shù)據(jù),本文給大家分享vue axios調(diào)用接口方法報(bào)錯(cuò)500 internal server error的兩種解決方法,感興趣的朋友一起看看吧
    2023-10-10
  • Vue綁定用戶接口實(shí)現(xiàn)代碼示例

    Vue綁定用戶接口實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了Vue綁定用戶接口代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • vue如何調(diào)用攝像頭實(shí)現(xiàn)拍照上傳圖片、本地上傳圖片

    vue如何調(diào)用攝像頭實(shí)現(xiàn)拍照上傳圖片、本地上傳圖片

    這篇文章主要給大家介紹了關(guān)于vue如何調(diào)用攝像頭實(shí)現(xiàn)拍照上傳圖片、本地上傳圖片的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Vue中的 DOM與Diff詳情

    Vue中的 DOM與Diff詳情

    這篇文章主要介紹了Vue中的 DOM與Diff詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-08-08
  • Vue子父組件之間傳值的三種方法示例

    Vue子父組件之間傳值的三種方法示例

    Vue的組件化給前端開發(fā)帶來(lái)極大的便利,下面這篇文章主要給大家介紹了關(guān)于Vue子父組件之間傳值的三種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • vite+vue3搭建的工程熱更新失效問題及解決

    vite+vue3搭建的工程熱更新失效問題及解決

    這篇文章主要介紹了vite+vue3搭建的工程熱更新失效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue Element前端應(yīng)用開發(fā)之菜單資源管理

    Vue Element前端應(yīng)用開發(fā)之菜單資源管理

    在權(quán)限管理系統(tǒng)中,菜單也屬于權(quán)限控制的一個(gè)資源,屬于角色控制的一環(huán)。不同角色用戶,登錄系統(tǒng)后,出現(xiàn)的系統(tǒng)菜單是不同的。菜單結(jié)合路由集合,實(shí)現(xiàn)可訪問路由的過(guò)濾,也就實(shí)現(xiàn)了對(duì)應(yīng)角色菜單的展示和可訪問路由的控制。
    2021-05-05
  • 解決Vue大括號(hào)字符換行踩的坑

    解決Vue大括號(hào)字符換行踩的坑

    這篇文章主要介紹了解決Vue大括號(hào)字符換行踩的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論