VUE中使用Echarts繪制柱狀圖


在main.js中引入echarts

import echarts from 'echarts'
Vue.prototype.$echarts = echarts

  在相應的vue中導入echarts

 import echarts from 'echarts';

 實現柱狀圖顯示 

 <div style="width: 100%;height: 50%;border:1px solid rgb(180,180,180);top: 0px" id="echartss"></div>

  

 mounted: function () {
      // 基於准備好的dom,初始化echarts實例
      let myChart = echarts.init(document.getElementById('echartss'))
      // 繪制圖表,this.echarts1_option是數據
      myChart.setOption(this.echarts1_option);
}

  

 data() {
      return {
        echarts1_option: {

          title: {
            text: '基本信息',
            subtext: '虛假數據'
          },
          tooltip: {
            trigger: 'axis'
          },
          color: ['rgba(31,13,230,0.95)', '#ff475d', '#49ef18', '#efeb23'],
          legend: [
            {
              data: ['學歷層次', '職業技能'],
            },
            {
              top: 20,
              data: ['業績成果', '專業經歷'],
            }

          ],
          toolbox: {
            show: true,
            feature: {
              dataView: {
                show: true, readOnly: true,
                optionToContent: function (opt) {
                  let axisData = opt.xAxis[0].data; //坐標數據
                  let series = opt.series; //折線圖數據
                  let tdHeads = '<td  style="padding: 0 10px">時間</td>'; //表頭
                  let tdBodys = ''; //數據
                  series.forEach(function (item) {
                    //組裝表頭
                    tdHeads += `<td style="padding: 0 10px">${item.name}</td>`;
                  });
                  let table = `<table border="1" style="margin-left:20px;border-collapse:collapse;font-size:14px;text-align:center"><tbody><tr>${tdHeads} </tr>`;
                  for (let i = 0, l = axisData.length; i < l; i++) {
                    for (let j = 0; j < series.length; j++) {
                      //組裝表數據
                      tdBodys += `<td>${series[j].data[i]}</td>`;
                    }
                    table += `<tr><td style="padding: 0 10px">${axisData[i]}</td>${tdBodys}</tr>`;
                    tdBodys = '';
                  }
                  table += '</tbody></table>';
                  return table;
                }
              },
              magicType: {show: true, type: ['line', 'bar']},
              restore: {show: true},
              saveAsImage: {show: true}
            }
          },
          calculable: true,
          xAxis: [
            {
              type: 'category',
              data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
            }
          ],
          yAxis: [
            {
              type: 'value'
            }
          ],
          series: [
            {
              name: '學歷層次',
              type: 'bar',
              stack: '個人信息',
              data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
              markPoint: {
                data: [
                  {type: 'max', name: '最大值'},
                  {type: 'min', name: '最小值'}
                ]
              },
              markLine: {
                data: [
                  {type: 'average', name: '平均值'}
                ]
              }
            },
            {
              name: '職業技能',
              type: 'bar',
              stack: '個人信息',
              data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
              markPoint: {
                data: [
                  {name: '年最高', value: 182.2, xAxis: 7, yAxis: 183},
                  {name: '年最低', value: 2.3, xAxis: 11, yAxis: 3}
                ]
              },
              markLine: {
                data: [
                  {type: 'average', name: '平均值'}
                ]
              }
            },
            {
              name: '業績成果',
              type: 'bar',
              stack: '個人信息',
              data: [2.0, 6.0, 7.0, 20.4, 21.7, 60.7, 135.6, 152.2, 56.7, 15.8, 7.0, 2.3],
              markPoint: {
                data: [
                  {name: '年最高', value: 152.2, xAxis: 7, yAxis: 153},
                  {name: '年最低', value: 2.0, xAxis: 1, yAxis: 2}
                ]
              },
              markLine: {
                data: [
                  {type: 'average', name: '平均值'}
                ]
              }
            },
            {
              name: '專業經歷',
              type: 'bar',
              stack: '個人信息',
              data: [1.0, 6.9, 9.0, 36.4, 48.7, 90.7, 100.6, 122.2, 40.7, 8.8, 6.0, 2.3],
              markPoint: {
                data: [
                  {name: '年最高', value: 122.2, xAxis: 7, yAxis: 123},
                  {name: '年最低', value: 1.0, xAxis: 1, yAxis: 1}
                ]
              },
              markLine: {
                data: [
                  {type: 'average', name: '平均值'}
                ]
              }
            }
          ]
        },
      }
    },

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM