91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在vue中實現一個柱狀圖效果

發布時間:2021-01-21 15:08:49 來源:億速云 閱讀:539 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在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中實現一個柱狀圖效果有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

景泰县| 利川市| 吉林市| 宁远县| 龙川县| 丹江口市| 南平市| 兰考县| 灌南县| 永福县| 济宁市| 河源市| 禹城市| 广宗县| 郴州市| 二手房| 淮滨县| 晋中市| 安丘市| 泾川县| 芜湖市| 驻马店市| 子洲县| 广平县| 甘南县| 仙居县| 彭泽县| 湘潭市| 广昌县| 桐城市| 通辽市| 顺义区| 垣曲县| 岚皋县| 商水县| 河北省| 宜宾县| 呼伦贝尔市| 西乡县| 瑞安市| 德格县|