如何在vue 中使用柱状图 并自修改配置


Posted in Vue.js onJanuary 21, 2021

1.在html文件导入echart

<!-- 引入echarts -->
 <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js"></script>

2.在main.js上挂载echarts对象

Vue.prototype.$echarts = window.echarts
// 使用时直接使用this.$echarts

3.页面结构

<template>
 <div class="com-container">
  <div class="com-chart" ref="sellerRef"></div>
 </div>
</template>

4.data中的数据

export default {
 data () {
  return {
   // 初始化的图表
   chartInstance: null,
   allDate: null, // 服务器返回的数据
  }
 },
}
```js
##### 5.methods中的逻辑
```js
methods: {
  // 初始化echarts对象
  initEchart(){
    // 获取dom对象
    this.chartInstance = this.$echarts.init(this.$refs.sellerRef)
  },
  // 获取服务器的数据
  async getData(){
    const {data:res} = await this.$http.get('seller')
    this.allDate = res
    // 返会的数据结构是 name商家 value数值
   // 对返回的数据进行从小打到排序 sort方法
   this.allDate.sort((a, b) => {
    return a.value - b.value
   })
    // 调用更新视方法
    this.updateChart()
  },
  // 更新图表
  updateChart(){
  // y轴类目轴的数据
  const sellerNames = this.allDate.map(item=>{
    // 根据你的需求调整
    return item.name
  })
  // x轴数值轴的数据
  const sellerValues = this.allDate.map(item=>{
    return item.value
  })
     const option = {
    xAxis: {
     type: 'value'
    },
    yAxis: {
     type: 'category',
     // y轴坐标轴使用遍历出来的name
     data: sellerNames
    },
    series: [
     {
      // 类型为柱状图
      type: 'bar',
      // x轴数据需要设置在series的data类型为遍历的value
      data: sellerValues
     }
    ]
  }
  // 渲染optio数据给dom对象
  this.chartInstance.setOption(option)
},

mounted钩子函数调用

// dom加载完成调用
 mounted () {
  this.initChart()
  this.getData()
 },

更改柱形图配置

1.在index.html 引入主题配置文件

<!-- 引入主题 -->
 <script src="./static/lib/theme/chalk.js"></script>

2.在需要使用主题的地方使用 初始化获取dom传入chalk

this.chartInstance = this.$echarts.init(this.$refs.sellerRef, 'chalk')

3.option的配置 LinearGradient(x1,x2,y1,y2)线性渐变

const option = {
    title: {
     text: '| 商家销售统计',
     textStyle: {
      fontSize: 66
     },
     left: 20,
     top: 20
    },
    // 坐标轴配置
    grid: {
     top: '20%',
     left: '3%',
     right: '6%',
     bottom: '3%',
     // 距离包含坐标轴文字
     containLabel: true
    },
    xAxis: {
     type: 'value'
    },
    yAxis: {
     type: 'category',
     // y轴坐标轴使用遍历出来的name
     data: sellerNames
    },
    series: [
     {
      // 类型为柱状图
      type: 'bar',
      // x轴数据需要设置在series的data类型为遍历的value
      data: sellerValues,
      // 柱的宽度
      barWidth: 66,
      // 柱文字 默认不展示
      label: {
       show: true,
       // 文字靠右显示
       position: 'right',
       textStyle: {
        // 颜色为白色
        color: 'white'
       }
      },
      // 控制柱的每一项
      itemStyle: {
       // 控制柱的圆角半径
       barBorderRadius: [0, 33, 33, 0],
       // 线性渐变
       // 指定不同百分比的颜色数值
       color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [
        {
         // 百分之0的样式
         offset: 0,
         color: '#5052EE'
        },
        {
         // 百分之百
         offset: 1,
         color: '#AB6EE5'
        }
       ])
      }
     }
    ],
    tooltip: {
     trigger: 'axis',
     axisPointer: {
      type: 'line', // 默认为直线,可选为:'line' | 'shadow'
      z: 0, // 背景层级
      lineStyle: {
       width: 66, // 背景宽度
       color: '#2D3443' // 背景颜色
      }
     }
    }
   }
   ```

以上就是如何在vue 中使用柱状图 并自修改配置的详细内容,更多关于vue 中使用柱状图 的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
vue+element UI实现树形表格
Dec 29 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
vue穿梭框实现上下移动
Jan 29 Vue.js
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
vue 给数组添加新对象并赋值
Apr 20 Vue.js
vue使用element-ui按需引入
May 20 Vue.js
vue递归实现树形组件
Jul 15 Vue.js
Vue看了就会的8个小技巧
Jan 21 #Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 #Vue.js
详解实现vue的数据响应式原理
Jan 20 #Vue.js
vue实现简易计算器功能
Jan 20 #Vue.js
vue使用过滤器格式化日期
Jan 20 #Vue.js
Vue实现简单计算器
Jan 20 #Vue.js
vue实现验证用户名是否可用
Jan 20 #Vue.js
You might like
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
js获取单选按钮的数据
2006/11/27 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
python调用shell的方法
2013/11/20 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
关于Python数据结构中字典的心得
2017/12/04 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
python 实现IP子网计算
2021/02/18 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
致200米运动员广播稿
2014/02/06 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server