92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

Echarts餅圖之數據展示

2020-3-3    seo達人

Echarts餅圖之數據展示

1、組件簡介

ECharts,一個使用 JavaScript 實現的開源可視化庫,可以流暢的運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴矢量圖形庫 ZRender,提供直觀,交互豐富,可高度個性化定制的數據可視化圖表。


官網鏈接:Echarts官網

W3C教程:W3C–Echarts教程


2、前端代碼實現

首先,下載庫,并引入到項目文件;


話不多說,直接上代碼。


/* 封裝的組件 HTML代碼

<div class="echart-wrap-box">

   <div class="echart-content"></div>

</div>

*/

let echarts = require("echarts/echarts.min");


defaults: {

  option: {

      echartsObj: {},

      tooltip: {//提示框浮層內容。

          trigger: 'item',//數據項圖形觸發,主要在散點圖,餅圖等無類目軸的圖表中使用。

          formatter: " : {c}萬人"http://提示框浮層內容格式器,{a}(系列名稱),(數據項名稱),{c}(數值), 0gow8qa(百分比)

      },

      //如果系列沒有設置顏色,則會依次循環從默認列表中取顏色作為系列顏色。

      color: ["#369DFD", "#32C8CA", "#49C872", "#F6CE36", "#EE607A", "#935CE3", "#3436C7", "#3E4D86"],

      legend: {//圖例組件。

          orient: 'vertical',//圖例列表的布局朝向:垂直的

          x: '80%',//圖例組件離容器左側的距離。

          y: '60%',//圖例組件離容器上側的距離。

          // width: 100,

          textStyle: {},//圖例文字的樣式

          // left: 'right',//圖例組件離容器左側的距離。

          top: 'center',//圖例組件離容器上側的距離。

          data: [],//右側圖例小組件信息數據

      },

      series: [{//餅圖信息

          name: '',

          type: 'pie',//餅狀圖

          radius: 140,//餅圖的半徑。

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

          minAngle: 5,  //最小的扇區角度(0 ~ 360),用于防止某個值過小導致扇區太小影響交互

          label: {//展示文本設置

              normal: {

                  show: true,

                  formatter: " : {c}萬人",//視覺引導線內容格式器,{a}(系列名稱),(數據項名稱),{c}(數值), 0yeaeco(百分比)

              },

              emphasis: {    //文本樣式

                  show: true,    //展示

                  textStyle: {    //文本樣式

                      fontSize: '16',

                      fontWeight: '600',

                  }

              }

          },

          labelLine: {//視覺引導線設置

              normal: {

                  show: true

              }

          },

          data: [],//餅狀圖信息數據,value(數量)和 name為默認數據;

          itemStyle: {

              emphasis: {

                  shadowBlur: 10,

                  shadowOffsetX: 0,

                  shadowColor: 'rgba(0, 0, 0, 0.5)'

              }

          }

      }],

  },

  onInit(event) {

      vm = event.vmodel;            

      let data;//假設這里通過ajax獲取到了需要展示的數據;

      if (data.length == 0) {

          return

      }

      data = data.sort((a, b) => { return b.number - a.number });//數據根據數量number從大到小排序


      if (data.length > 7) {//從大到小的第八個新增粉絲數量的年份 開始統一歸為 其他年份新增粉絲數量

          let arr = data.slice(7);

          let num = 0, rate = 0;

          for (let i = 0; i < arr.length; i++) {//第七個之后累數量和比率

              num += Number(arr[i].number);

              rate += Number(arr[i].rate);

          };

          let objOtherYear = {

              value: num,

              name: '其他年份__nana新增粉絲數量',

              rate: rate

          };

          let arr2 = data.slice(0, 7);

          arr2.push(objOtherYear);

          data = arr2;

          data = data.sort((a, b) => { return b.number - a.number });//數據根據數量number從大到小排序

      }


      this.option.series[0].data = [];

      this.option.legend.data = [];

      for (let i = 0; i < data.length; i++) {

          let seriesData = {

              value: 0,

              name: '',

              rate: ''

          };

          seriesData.value = data[i].number;

          seriesData.name = data[i].year;

          seriesData.rate = data[i].rate;

          this.option.series[0].data.push(seriesData);//給餅圖賦值數據


          let legendData = {

              name: '',

              icon: 'circle',//強制設置圖形為:圓形

              textStyle: {

                  color: '#000'

              }

          }

          legendData.name = data[i].year;

          this.option.legend.data.push(legendData);//給圖例組件賦值數據

      }

  },

  callFun: avalon.noop,//點擊餅狀圖后的回調

  isClickEchartsOUt: avalon.noop,//是否為餅圖外的點擊,父組件進行判斷后傳過來

  onReady(event) {

      this.echartsObj = echarts.init(event.target.children[0]);//初始化

      this.echartsObj.setOption(this.option);


      $(window).resize(() => {

          this.echartsObj.resize();

      });


      let dataIndex;//保存選中扇區的序號

      let _this = this;


      this.$watch('isClickEchartsOUt', () => {

          if (this.isClickEchartsOUt) {//如果不是餅狀圖扇區的點擊,則取消選中;

              _this.echartsObj.dispatchAction({

                  type: 'pieUnSelect',//取消選中指定的餅圖扇形。

                  // 可選,系列 index,可以是一個數組指定多個系列

                  seriesIndex: 0,

                  // 可選,數據的 index

                  dataIndex: dataIndex,

              })

          }

      });


      // 處理點擊餅圖內部的事件

      this.echartsObj.on('click', function (params) {


          if (params.dataIndex != dataIndex) {//如果不是前一次選中的扇區,則取消選中

              _this.echartsObj.dispatchAction({

                  type: 'pieUnSelect',//取消選中指定的餅圖扇形。

                  // 可選,系列 index,可以是一個數組指定多個系列

                  seriesIndex: 0,

                  // 可選,數據的 index

                  dataIndex: dataIndex,

              })

          }


          dataIndex = params.dataIndex;


          _this.echartsObj.dispatchAction({

              type: 'pieSelect',//選中指定的餅圖扇形。

              // 可選,系列 index,可以是一個數組指定多個系列

              seriesIndex: 0,

              // 數據的 index,如果不指定也可以通過 name 屬性根據名稱指定數據

              dataIndex: dataIndex,

          })


          vm.callFun(params);//回調,傳點擊獲取到的數據給父組件

      });

  },

  onDispose() {}

}


日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
欧美—级高清免费播放| 欧美色图婷婷| 欧美久久久久久蜜桃| 欧美大片欧美激情性色a∨久久| 色婷婷激情一区二区三区| 91蜜桃视频在线| 怡红院精品视频在线观看极品| 国产福利91精品一区| 亚洲欧美日韩国产综合| av成人综合| 亚洲福利精品| 天堂一区二区三区四区| 国产美女被下药99| 天天久久综合| 亚洲欧美日韩精品久久奇米色影视| 成人乱人伦精品视频在线观看| 亚洲精品高清在线观看| 国产精品午夜一区二区三区| 国产亚洲精品91在线| 老司机精品视频在线| 婷婷激情综合| 一区二区视频| 欧美日韩在线视频观看| 一本一道久久a久久精品蜜桃| 国产激情一区二区三区四区| 欧美性感一类影片在线播放| 在线视频中文字幕第一页| 欧美va亚洲va日韩∨a综合色| 日本少妇一区二区| 日韩毛片一二三区| 1区2区3区在线视频| 欧美日韩国产经典色站一区二区三区| 欧美一区二三区| 精品国产拍在线观看| 日韩中文理论片| 国产亚洲精品7777| 亚洲经典视频| 日韩av男人的天堂| 日韩在线观看电影完整版高清免费悬疑悬疑| 永久免费毛片在线播放不卡| eeuss影院www在线观看| 99久久99久久精品国产片| 亚洲一区二区三区免费在线观看| 国产99久久精品一区二区300| 欧美日本不卡视频| 日本一欧美一欧美一亚洲视频| 九色porny视频在线观看| 欧美gay男男猛男无套| 亚洲欧美精品| 成人免费精品视频| http;//www.99re视频| 欧美一区日本一区韩国一区| 麻豆精品在线看| 欧美日韩国产在线观看| 免费在线播放第一区高清av| 国产欧美一区二区三区四区| 精品久久久久久久中文字幕| 黄色精品一区二区| 亚洲电影中文字幕在线观看| 久久久久久久久久久久av| 国产三级精品在线| 成人午夜视频网站| 欧美刺激午夜性久久久久久久| 日韩中文一区二区| 成人午夜小视频| 777777777亚洲妇女| 亚洲午夜久久久| 欧美在线视频网站| 欧美日本一区二区视频在线观看| 揄拍成人国产精品视频| 亚洲精品视频一区二区| 日韩免费看片| 日韩在线观看免费高清完整版| 日韩理论电影院| 最近2019年手机中文字幕| 国产凹凸在线观看一区二区| 国产精品jk白丝蜜臀av小说| 国产精品一卡二卡在线观看| 精品久久美女| 日韩精品在线视频观看| 日韩一区二区三区四区五区六区| 欧美剧情电影在线观看完整版免费励志电影| 日韩不卡在线观看日韩不卡视频| 免费黄网站欧美| 国产风韵犹存在线视精品| 色悠久久久久综合先锋影音下载| 波多野结衣精品在线| 久久精精品视频| 国产99久久久国产精品成人免费| 日韩精品亚洲aⅴ在线影院| 国产一区二区三区不卡av| 亚洲成人网在线观看| 久久久久久9999| 国产欧美日韩精品一区二区免费| 欧美jizzhd69巨大| 北岛玲一区二区三区| 中文在线字幕免费观看| 精品国产鲁一鲁一区二区张丽| 成人影院在线播放| www欧美xxxx| 亚洲人成人一区二区三区| 不卡一区二区三区四区五区| 国产主播一区二区三区四区| 美女呻吟一区| 国产亚洲欧洲高清| 综合久久久久综合| 欧美.日韩.国产.一区.二区| 中文字幕在线高清| 午夜在线视频一区二区区别| 精品国产在天天线2019| 久久久综合香蕉尹人综合网| 一区二区三区欧美日韩| 国产成人激情小视频| 欧美日韩一区不卡| 91在线视频播放地址| 亚洲综合色自拍一区| 大伊人狠狠躁夜夜躁av一区| 日韩在线成人| 蜜桃999成人看片在线观看| 中文字幕不卡在线视频极品| 国产精品久久久久久久久久久久久久| 电影久久久久久| 精品日产卡一卡二卡麻豆| 欧美久久视频| 亚洲在线网站| 国产成人精品免费看| 91sp网站在线观看入口| 欧美精品麻豆| 久久久999| 日韩欧美不卡在线观看视频| 欧美日韩有码| 在线观看福利电影| 国产一区二区按摩在线观看| 手机电影在线观看| 日韩avvvv在线播放| 国产一区二区三区不卡在线观看| 91在线观看免费视频| 国产精品网站在线观看| 欧美有码在线视频| 成人综合婷婷国产精品久久蜜臀| 亚洲精品一品区二品区三品区| 国产精品综合色区在线观看| 国产欧美精品日韩区二区麻豆天美| 激情小说综合区| 欧美国产日本高清在线| 91久久久国产精品| 中文字幕一区二区三区色视频| 亚洲第一二三四区| 欧美岛国在线观看| 日韩亚洲一区在线播放| 亚洲按摩av| 色综合一区二区日本韩国亚洲| 中文字幕日韩一区二区| 动漫精品一区二区| 丁香激情综合五月| 天天精品视频| 免播放器亚洲一区| 亚洲男女av一区二区| 国内久久精品视频| av网站在线看| 欧美一区二区在线播放| 国产精品欧美久久久久无广告| 欧美一区二区三区爱爱| 亚洲综合激情另类小说区|