Vue Echarts圖表dataZoom縮放區域根據數據量顯示


Vue Echarts圖表dataZoom縮放區域根據數據量顯示

當時用echarts圖表顯示數據的時候,比如折線圖柱狀圖,當數據量太大的時候,需要設置 dataZoom實現區域縮放,但是當數據量比較少的時候又不希望出現區域縮放控件,所以說這個時候就需要根據數據量動態顯示dataZoom。

在 echarts 圖表的 option 配置中配置 dataZoom項:

  dataZoom: [{
    type: 'slider',
    show: true,
    height: 20,
    left: '10%',
    right: '10%',
    bottom: '2%',
    start: 0,
    end: 100,
    textStyle: {
      color: '#d4ffff',
      fontSize: 11
    }
  }, {
    type: 'inside'
  }],

dataZoom具體配置 點這里

然后寫代碼去判斷一下這個dataZoom 是否生效以及他的初始和結束分別是多少。

比如當我想讓柱狀圖或者是折線圖橫軸數量超過7的時候出現縮放控件,那在小於等於7的時候把控件的show屬性設置為false,初始設置為0,當超過7的時候把控件的show屬性設置為true,初始位置計算一下或者是直接設置為0。xData是x軸數據的list集合。

        if (xData.length <= 7) {
          option.dataZoom[0].show = false
          option.dataZoom[0].start = 0
        } else {
          option.dataZoom[0].start = (7 / xData.length) * 100
          // option.dataZoom[0].start = 0
        }

這樣就可以了!

然后就可以渲染echarts圖表了。

this.charts = echarts.init(document.getElementById(id))
this.charts.clear()  // 清空echarts數據
this.charts.setOption(option) // 重新渲染option

銷毀 echarts 圖表,一般是放到銷毀組件的生命周期中。

// 銷毀
destroyed () {
  this.charts.dispose()
}

OK,完成!當后台返回的x軸數據超過7的時候,會自動的把 dataZoom 渲染出來並且根據代碼設置顯示縮放區域的起止位置,可以根據自己的需要修改起止位置。


免責聲明!

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



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