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

vue中Echarts使用動態(tài)數(shù)據(jù)的兩種實(shí)現(xiàn)方式

 更新時間:2022年10月21日 16:46:02   作者:海闊天空.  
這篇文章主要介紹了vue中Echarts使用動態(tài)數(shù)據(jù)的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Echarts使用動態(tài)數(shù)據(jù)的兩種方式

在使用Echarts時我們數(shù)據(jù)一般不是靜態(tài)寫死的,而是通過后端接口動態(tài)獲取的,在此總結(jié)兩種在vue框架下Echarts使用動態(tài)數(shù)據(jù)的方式。

1.通過computed

computed: {
? ? options() {
? ? ? let that = this;
? ? ? let option = {
? ? ? ? ? tooltip : {
? ? ? ? ? ? trigger: 'axis',
? ? ? ? ? ? formatter: function(item) {
? ? ? ? ? ? ? return `支付金額 ${item[0].value}元`
? ? ? ? ? ? }
? ? ? ? ? },
? ? ? ? ? legend: {
? ? ? ? ? ? formatter: function(item){
? ? ? ? ? ? ? return `${item}: ${that.priceData.todayPrice}`
? ? ? ? ? ? }
? ? ? ? ? },
? ? ? ? ? grid: {
? ? ? ? ? ? ? left: '3%',
? ? ? ? ? ? ? right: '4%',
? ? ? ? ? ? ? bottom: '3%',
? ? ? ? ? ? ? containLabel: true
? ? ? ? ? },
? ? ? ? ? xAxis: {
? ? ? ? ? ? ? type: 'category',
? ? ? ? ? ? ? boundaryGap: false,
? ? ? ? ? ? ? data: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]
? ? ? ? ? },
? ? ? ? ? yAxis: {
? ? ? ? ? ? ? type: 'value',
? ? ? ? ? ? ? splitLine: { //網(wǎng)格線
? ? ? ? ? ? ? ? show: false
? ? ? ? ? ? ? }
? ? ? ? ? },
? ? ? ? ? series: [{
? ? ? ? ? ? ? data: that.priceData.timePriceRange,
? ? ? ? ? ? ? type: 'line',
? ? ? ? ? ? ? smooth: true,
? ? ? ? ? ? ? name: '支付金額',
? ? ? ? ? ? ? itemStyle : {
?? ??? ??? ??? ??? ??? ??? ??? ?normal : {
? ? ? ? ? ? ? ? ? color: '#13CE66',
?? ??? ??? ??? ??? ??? ??? ??? ??? ?lineStyle:{
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?color:'#13CE66'
?? ??? ??? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ?}
? ? ? ? ? }]
? ? ? }
? ? ? return option;
? ? }
? },
//初始化
initEcharts(){
? ? ? let ?myChart = Echarts.init(this.$refs.chart);
? ? ? myChart.setOption(this.options);
? ? }

2.在data中定義option

通過在初始化之前,直接改變option對應(yīng)屬性值

//在data中定義option
initEcharts(){
? ? ? this.option.yAxis[1].max = this.maxRate;
? ? ? this.option.xAxis.data = this.dateList;
? ? ? this.option.series[0].data = this.payPriceTrendList;
? ? ? let ?myChart = Echarts.init(this.$refs.chart);
? ? ? myChart.setOption(this.option);
? ? }

數(shù)據(jù)變化后需要再次調(diào)init方法刷線圖表

vue Echarts幾種常用圖表動態(tài)數(shù)據(jù)切換

幾種常用圖表 

1.柱狀圖 

效果圖

柱狀圖

代碼片段

HTML部分:

<div ref="echartMain1" id="echart-main"></div>

JS部分:

getEchartData() {
      this.$http
        .post("/sys/currency/twelvemonthstatistic", {
          traddingOrgId:id,
        })
        .then(({ data }) => {
        //示例數(shù)據(jù)
        data=[
    {
        "ym": "2021-06",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-07",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-08",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-09",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-10",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-11",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2021-12",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2022-01",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2022-02",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2022-03",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2022-04",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    },
    {
        "ym": "2022-05",
        "countOrder": 0,
        "sumGuaranteeFee": 0,
        "sumBzjAmount": 0,
        "sumGuaranteeFeeToWanYuan": 0,
        "sumBzjAmountToWanYuan": 0
    }
]
          data.forEach((value, index) => {
            this.chartDate.push(value.ym);//X軸月份
            this.chartData.push(value.countOrder);//Y軸數(shù)量
          });
          this.echart();
        });
    },
    echart() {
      var myChart = echarts.init(this.$refs.echartMain1);
      let option = {
        xAxis: [
          {
            type: "category",
            data: this.chartDate,
            axisPointer: {
              type: "shadow",
            },
          },
        ],
        yAxis: [
          {
            type: "value",
            name: "近12個月的出函數(shù)量(筆)",
            min: 0,
            max: 500,
            interval: 100,
            axisLabel: {
              formatter: "{value}",
            },
          },
        ],
        series: [
          {
            data: this.chartData,
            type: "bar",
          },
        ],
      };
      // echarts圖表自適應(yīng)
      myChart.setOption(option);
      window.addEventListener("resize", () => {
        myChart.resize();
      });
    },

2.平滑折線面積圖

效果圖

面積折線圖

代碼片段

HTML部分:

<el-row :gutter="20" class="tittle">
          <el-col :span="16">
            <div class="text1">近12月保函數(shù)據(jù)</div>
          </el-col>
         <!-- <el-col :span="2">
            <div :class="{active:isActive2===1}" @click="getDataMon12(1)" class="cursor-pointer">保函數(shù)量</div>
          </el-col>
          <el-col :span="2">
            <div :class="{active:isActive2===2}" @click="getDataMon12(2)" class="cursor-pointer">保費(fèi)收入</div>
          </el-col>
          <el-col :span="2">
            <div :class="{active:isActive2===3}" @click="getDataMon12(3)" class="cursor-pointer">擔(dān)保金額</div>
          </el-col> -->
</el-row>
<div ref="echartDemo1" class="chart-box" style="height: 400px"></div>

JS部分:

/**
     * 獲取面積折線圖 filterType 1保函數(shù)量 2保費(fèi)收入 3擔(dān)保金額 不傳返回所有
     */
    getDataMon12(filterType) {
      if (filterType) {
        this.isActive2 = filterType;
        // console.log('filterType高亮的是:',filterType,this.isActive2);
      }
      var monTop121 = [];
      var monTop122 = [];
      var monTop123 = [];
      var dataTop121 = [];
      var dataTop122 = [];
      var dataTop123 = [];
      this.$http
        .post("/sys/data/twelvemonthstatistic", {
          dataType: 1,
          filterType: filterType
        })
        .then(res => {
          // console.log("面積折線圖數(shù)據(jù)是:", res.data);
          res.data.forEach((value, index) => {
            if (filterType == 1) {
              monTop121.push(value.ym);
              dataTop121.push(value.countOrder);
            } else if (filterType == 2) {
              monTop122.push(value.ym);
              dataTop122.push(value.sumGuaranteeFeeToWanYuan);
            } else if (filterType == 3) {
              monTop123.push(value.ym);
              dataTop123.push(value.sumBzjAmountToWanYuan);
            }
          });
          if (filterType == 1) {
            this.initChartBar1(monTop121, dataTop121);
          } else if (filterType == 2) {
            this.initChartBar1(monTop122, dataTop122);
          } else if (filterType == 3) {
            this.initChartBar1(monTop123, dataTop123);
          }
        });
    },
   
    /**
     * 面積折線圖
     */
    initChartBar1(mon, data) {
      var option = {
        tooltip: {
          trigger: "axis"
        },
        title: {
          subtext: "保函數(shù)量(件)",
          left: "5%",
          top: "0%",
          textAlign: "center"
        },
        xAxis: {
          type: "category",
          boundaryGap: false,
          data: mon
        },
        yAxis: {
          type: "value"
        },
        series: [
          {
            data: data,
            type: "line",
            smooth: true,
            areaStyle: {}
          }
        ]
      };
      this.chartBar1 = echarts.init(this.$refs.echartDemo1);
      this.chartBar1.setOption(option);
      window.addEventListener("resize", () => {
        this.chartBar1.resize();
      });
    },

css部分:

// 選中時的樣式
.active {
  color: #00a950;
}

3.折線圖堆疊

效果圖

層疊折線圖

代碼片段

HTML部分:

<el-row :gutter="20" class="tittle">
          <el-col :span="16">
            <div class="text1">近12月保函數(shù)據(jù)</div>
          </el-col>
         <!-- <el-col :span="2">
            <div :class="{active:isActive2===1}" @click="getDataMonLine(1)" class="cursor-pointer">保函數(shù)量</div>
          </el-col>
          <el-col :span="2">
            <div :class="{active:isActive2===2}" @click="getDataMonLine(2)" class="cursor-pointer">保費(fèi)收入</div>
          </el-col>
          <el-col :span="2">
            <div :class="{active:isActive2===3}" @click="getDataMonLine(3)" class="cursor-pointer">擔(dān)保金額</div>
          </el-col> -->
</el-row>
<div ref="echartDemo2" class="chart-box" style="height: 400px"></div>

JS部分:

 /**
     * 獲取層疊折線圖 filterType 1保函數(shù)量 2保費(fèi)收入 3擔(dān)保金額 不傳返回所有
     */
    getDataMonLine(filterType) {
      if(filterType){
        this.isActive2=filterType
        // console.log('filterType高亮的是:',filterType,this.isActive2);
      }
      var monTop121 = [];
      var monTop122 = [];
      var monTop123 = [];
      var dataTop121 = [];
      var dataTop122 = [];
      var dataTop123 = [];
      this.$http
        .post("/sys/data/guaranteeorgtwelvemonthstatistic", {
          dataType: 1,
          filterType:filterType,
          
        })
        .then((res) => {
          // console.log("折線圖數(shù)據(jù)/投標(biāo)保函按月統(tǒng)計(jì)表格數(shù)據(jù)是:", res.data);
          this.twelvemonthDataLine = res.data;
        // 示例數(shù)據(jù)
        //   this.twelvemonthDataLine=[  
        //     { detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 4, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],
        //     ym: "2021-06"},
        //     {detailList: [
        //       {countOrder: 20, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 9, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 1, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],
        //     ym: "2021-07"},
        //     {detailList: [
        //     {countOrder: 6, guaranteeOrgName: "08擔(dān)保"}, 
        //     {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //     {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //     {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //     {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //     {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //     {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //     {countOrder: 1, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //     {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //     {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //     {countOrder: 1, guaranteeOrgName: "匯友保險(xiǎn)"},
        //     {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //   ],
        //     ym: "2021-08"},
        //     {detailList: [
        //   {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //   {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //   {countOrder: 4, guaranteeOrgName: "中原銀行股份有限公司"},
        //   {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //   {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //   {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //   {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //   {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //   {countOrder: 1, guaranteeOrgName: "陽光保險(xiǎn)"},
        //   {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //   {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //   {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        // ],
        //     ym: "2021-09"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 4, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2021-10"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 1, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2021-11"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2021-12"},
        //       {detailList: [
        //       {countOrder: 12, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 4, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 4, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 7, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 3, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 1, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2022-01"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2022-02"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 0, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2022-03"},
        //       {detailList: [
        //       {countOrder: 0, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 6, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 1, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2022-04"},
        //       {detailList: [
        //       {countOrder: 3, guaranteeOrgName: "08擔(dān)保"}, 
        //       {countOrder: 13, guaranteeOrgName: "01擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "中原銀行股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "07擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "06擔(dān)保"},
        //       {countOrder: 0, guaranteeOrgName: "河南華誠工程擔(dān)保有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "長安責(zé)任保險(xiǎn)股份有限公司"},
        //       {countOrder: 0, guaranteeOrgName: "陽光保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "中聯(lián)銀"},
        //       {countOrder: 0, guaranteeOrgName: "匯友保險(xiǎn)"},
        //       {countOrder: 0, guaranteeOrgName: "02擔(dān)保"},
        //     ],ym: "2022-05"}
        //             ]
          this.twelvemonthDataLine.forEach((value, index) => {
            if (filterType == 1) {
              monTop121.push(value.ym);
              dataTop121.push(value.detailList);
             
            } 
            else if (filterType == 2) {
              monTop122.push(value.ym);
              dataTop122.push(value.sumGuaranteeFeeToWanYuan);
            } else if (filterType == 3) {
              monTop123.push(value.ym);
              dataTop123.push(value.sumBzjAmountToWanYuan);
            }
          });
          if (filterType == 1) {
            this.initChartLine(monTop121, dataTop121)
          } else if (filterType == 2) {
            this.initChartLine(monTop122, dataTop122);
          } else if (filterType == 3) {
            this.initChartLine(monTop123,dataTop123);
          }
        });
    },
     /**
     * 層疊折線圖
     */
    initChartLine(mon, data) {
      // console.log('monTop121:',mon);
      let series = [];
      let leggend = [];
      for (let i = 0; i < data.length; i++) {
        let countOrders = [];
        leggend.push(data[i].guaranteeOrgName);
        // countOrders=[0,1,5,2,4,5,3,1,4,9,14,2]
        var arr = data[i];
        arr.forEach((item, index) => {
          countOrders.push(item.countOrder);
        });
        // 將數(shù)據(jù)組裝到series數(shù)組,供option配置使用
        series.push({
          // 每個擔(dān)保機(jī)構(gòu),對應(yīng)一條折線圖
          name: data[i].guaranteeOrgName,
          type: "line",
          data: countOrders // 每個擔(dān)保機(jī)構(gòu),對應(yīng)的橫坐標(biāo)的值組成的數(shù)組
        });
      }
      console.log(leggend);
      console.log("series是:", series);
      var option = {
        tooltip: {
          trigger: "axis"
        },
        title: {
          subtext: "保函數(shù)量(件)",
          left: "5%",
          top: "0%",
          textAlign: "center"
        },
        legend: {
          padding: 10,
          tooltip: {
            show: true
          },
          data: leggend
        },
        xAxis: {
          type: "category",
          boundaryGap: false,
          data: mon
        },
        yAxis: {
          type: "value"
        },
        series: series
      };
      this.chartLine = echarts.init(this.$refs.echartDemo2);
      this.chartLine.setOption(option);
      window.addEventListener("resize", () => {
        this.chartLine.resize();
      });
    },

css部分:

// 選中時的樣式
.active {
  color: #00a950;
}

4.餅狀圖

效果圖

餅狀圖

代碼片段

HTML部分:

 <div class="piechart">
        <div class="tittle">
          <div class="text1">交易平臺統(tǒng)計(jì)</div>
          <el-date-picker v-model="![請?zhí)砑訄D片描述](https://img-blog.csdnimg.cn/2c725dfca29f441aa477ce33bad2d9ed.png)
 type="datetimerange" :picker-options="pickerOptions2" range-separator="至" start-placeholder="開始日期" end-placeholder="結(jié)束日期" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:01', '23:59:59']" style="width: 390px" @change="timeHandle(4)">
          </el-date-picker>
        </div>
        <div ref="echartDemo3" class="chart-box" style="height: 400px"></div>
 </div>

JS部分:

	// 時間選擇修改時數(shù)據(jù)刷新 1為投標(biāo)保函按月合計(jì) 2為出函平臺統(tǒng)計(jì)的時間選擇器 3為出函機(jī)構(gòu)統(tǒng)計(jì)的時間選擇器 4為交易平臺統(tǒng)計(jì)的時間選擇器
    timeHandle(num) {
      var that = this;
      if (num == 1) {
        this.getMonthData(12, this.value1);
        //  this.value1=""
      } else if (num == 2) {
        this.getIssuinGuarantee("", this.value2);
        // this.value2=""
      } else if (num == 3) {
        this.getCensusData("", this.value3);
        // this.value3=""
      } else {
        this.getTradeData("", this.value4);
        // this.value4=""
      }
    },
    getIssuinGuarantee(days, time) {
      if (days) {
        this.isActive3 = days;
        // console.log('days高亮的是:',days,this.isActive3);
      }
      this.$http({
        url: "/sys/data/guaranteeorgplatformstatistic",
        method: "post",
        data: {
          dataType: 1,
          days: days,
          startTime: !time[0] ? "" : time[0],
          endTime: !time[1] ? "" : time[1]
        }
      }).then(res => {
        // console.log("出函平臺數(shù)據(jù):", res.data);
        this.issuinGuaranteeData = res.data;
        //后臺響應(yīng)數(shù)據(jù)是
         this.issuinGuaranteeData=[
         {
	        countOrder: 3
			countOrderRatio: 21.42
			sumBzjAmount: 3000
			sumBzjAmountRatio: 21.42
			sumBzjAmountToWanYuan: 0.3
			sumGuaranteeFee: 600
			sumGuaranteeFeeRatio: 10.9
			sumGuaranteeFeeToWanYuan: 0.06
			traddingOrgId: "303c3dfaa3c54864a1b67f5fee694231"
			traddingOrgName: "駐馬店公共資源交易中心"
         },
         {
        	countOrder: 4
			countOrderRatio: 28.57
			sumBzjAmount: 4000
			sumBzjAmountRatio: 28.57
			sumBzjAmountToWanYuan: 0.4
			sumGuaranteeFee: 1400
			sumGuaranteeFeeRatio: 25.45
			sumGuaranteeFeeToWanYuan: 0.14
			traddingOrgId: "57f2e9ceb8834fe7ac37e06f9dab7aef"
			traddingOrgName: "通許縣公共資源交易中心"
         },
         {
         	countOrder: 2
			countOrderRatio: 14.28
			sumBzjAmount: 2000
			sumBzjAmountRatio: 14.28
			sumBzjAmountToWanYuan: 0.2
			sumGuaranteeFee: 1000
			sumGuaranteeFeeRatio: 18.18
			sumGuaranteeFeeToWanYuan: 0.1
			traddingOrgId: "8af00e2ff8ea458da5b122495ee83303"
			traddingOrgName: "杞縣公共資源交易中心"
         },
         {
         	countOrder: 5
			countOrderRatio: 35.73
			sumBzjAmount: 5000
			sumBzjAmountRatio: 35.73
			sumBzjAmountToWanYuan: 0.5
			sumGuaranteeFee: 2500
			sumGuaranteeFeeRatio: 45.47
			sumGuaranteeFeeToWanYuan: 0.25
			traddingOrgId: "c83acb963a4140438984b196abcec46c"
			traddingOrgName: "鞏義公共資源交易中心"
         }
         
         ]
        this.initChartBar3(this.issuinGuaranteeData);
      });
    },
/**
     * 3餅圖
     */
    initChartBar3(data) {
      var temp1 = [];
      var temp2 = [];
      var temp3 = [];
      data.forEach((value, index) => {
        temp1.push({
          name: value.guaranteeOrgName,
          value: value.countOrderRatio
        });
        temp2.push({
          name: value.guaranteeOrgName,
          value: value.sumGuaranteeFeeRatio
        });
        temp3.push({
          name: value.guaranteeOrgName,
          value: value.sumBzjAmountRatio
        });
      });
      // console.log(temp1)
      // console.log(temp2)
      // console.log(temp3)
      var option = {
        tooltip: {
          trigger: "item",
          formatter: " : {c} (vvxyksv9kd%)"
        },
        title: [
          {
            subtext: "保函數(shù)量占比",
            left: "16.67%",
            top: "5%",
            textAlign: "center"
          },
          {
            subtext: "保函金額占比",
            left: "50%",
            top: "5%",
            textAlign: "center"
          },
          {
            subtext: "擔(dān)保金額占比",
            left: "83.33%",
            top: "5%",
            textAlign: "center"
          }
        ],
        series: [
          {
            type: "pie",
            radius: "55%",
            center: ["50%", "50%"],
            data: temp1,
            right: "66.6667%"
          },
          {
            type: "pie",
            radius: "55%",
            center: ["50%", "50%"],
            data: temp2,
            left: "33.3333%",
            right: "33.3333%"
          },
          {
            type: "pie",
            radius: "55%",
            center: ["50%", "50%"],
            data: temp3,
            left: "66.6667%"
          }
        ]
      };
      this.chartBar3 = echarts.init(this.$refs.echartDemo3);
      this.chartBar3.setOption(option);
      window.addEventListener("resize", () => {
        this.chartBar3.resize();
      });
    },

css部分:

// 選中時的樣式
.active {
  color: #00a950;
}

---

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論