好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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 中使用柱状图 的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.cn/post/6919726191666528263

查看更多关于如何在vue 中使用柱状图 并自修改配置的详细内容...

  阅读:70次