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: ‘平均值‘}
                ]
              }
            }
          ]
        },
      }
    },

  

原文地址:https://www.cnblogs.com/dragonKings/p/12073084.html

时间: 2024-08-01 19:13:52

VUE中使用Echarts绘制柱状图的相关文章

项目vue中使用echarts步骤

1.在组件中创建该模块 <template> <div id = "testChart"></div> </template> 2.导入echarts 前提是:已经在项目中配置过echarts 在<script></script>中导入echarts <script> import {echartInit} from "../../../utils/echartUtils" <

vue中使用echarts来绘制中国地图,NuxtJS制作疫情地图,内有详细注释,我就懒得解释了,vue cli制作疫情地图 代码略有不同哦~~~

我的代码自我感觉----注释一向十分详细,就不用过多解释都是什么了~~ 因为最近疫情期间在家实在是没事干,想找点事,就练手了个小demo 首先上 NuxtJs版本代码,这里面 export default { mode: 'universal', /* ** Headers of the page */ head: { title: process.env.npm_package_name || '', meta: [ { charset: 'utf-8' }, { name: 'viewpor

vue 中使用 echarts 自适应问题

echarts 自带的自适应方法  resize() 具体用法: let xxEcharts = this.$echarts.init(document.getElementById('xxx')) xxEcharts.setOption(xxxx)  // 参数是 echarts 的option对象 window.onresize = xxEcharts.resize 但是,问题来了,同一个页面使用多个echarts 的时候,window.onresize = xxEcharts.resize

vue中使用echarts

1.下载依赖 cnpm i echarts -S 2.模块中引入 <template> <div class="analyzeSystem"> <div :class="className" :id="id" :style="{height:height,width:width}" ref="myEchart"></div> </div> <

Vue系列——在vue项目中使用echarts

安装echarts依赖 npm install echarts -S 创建图表 全局引入 main.js // 引入echarts import echarts from 'echarts' Vue.prototype.$echarts = echarts Hello.vue <div id="myChart" :style="{width: '300px', height: '300px'}"></div> export default {

vue中如何使用echarts

在vue中使用echarts主要是注意如何与vue生命周期相结合,从而做到数据驱动视图刷新 主要是以下几步: echarts的option设置在data(){}中 在mounted(){}生命周期去初始化数据,初始化echarts 在updated(){}生命周期中去setOption(option)渲染echarts. 模板vue文件如下: <template> <div id="myChart" ref="myChart"></di

Wabpack系列:在webpack+vue开发环境中使用echarts导致编译文件过大怎么办?

现象,在一个webpack+vue的开发环境中,npm install echarts --save了echarts,然后在vue文件中直接使用 import echarts from 'echarts' 然后编译的时候加上了Uglify选项,发现vendor文件的大小已经达到了800多k,导致首次加载速度比较慢,然后我们这个是webapp,就更慢了. 所以考虑把echarts提取出来,改用cdn版本的echarts,具体操作步骤如下: (0)找到可用的echartscdn资源 在bootcdn

vue中监听window.resize的变化

我只想说每个人遇到的bug真的不能一概而论,解决办法也会有不同.在vue中使用echarts的时候,会想要实现window.resize窗体变化大小的时候让图形大小跟着变化.实现的过程中各种bug,也真的让人有种想要发狂的感觉.但是还好,最后在不断的查资料和尝试当中.实现了想要的效果,仅供参考: 首先我这里实现的效果是切换echart图形,然后在window.resize过程中想要实现自适应窗口大小的变化. 这里的两个button分别是控制两个路由切换,也就是两个echart图形(柱状图和饼图)

vue项目整合echarts

准备工作: 首先我们初始化一个vue项目,执行vue init webpack echart,接着我们进入初始化的项目下.安装echarts, npm install echarts -S //或  cnpm install echarts -S 安装完成之后,我们就可以开始引入我们需要的echarts了,接下来介绍几种使用echarts的方式. 1.全局引用 首先在main.js中引入echarts,将其绑定到vue原型上: import echarts from 'echarts' Vue.