欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于vue+echarts實現(xiàn)柱狀圖漸變色效果(每個柱子顏色不同)

 更新時間:2024年05月13日 10:06:34   作者:小蹦跶兒  
前段時間的vue項目中用到了echarts柱狀圖,由于UI設計稿中要求使用漸變色,并且每個柱子的顏色不同,于是做了一番研究,現(xiàn)將我的實現(xiàn)方案分享如下

一、需要實現(xiàn)的效果圖

二、背景

Echarts的柱狀圖,由于默認所有柱子都是同一個顏色,且顏色為純色系,顯示效果不能滿足我們的設計稿要求,遂需要進行改造。

本文介紹如何為每個柱子添加不同的顏色,以及如何添加漸變色,以豐富圖表的顯示效果。

除了顏色的問題,同時存在以下幾個小問題會一同解決:

  • 多數(shù)值柱狀圖;
  • 帶圓角的柱狀圖;

三、解決思路

這是一個集多數(shù)值的柱狀圖、每個柱子的顏色不同,且每個柱子都有自己的漸變色、帶圓角的柱狀圖于一體的柱狀圖,就需要考慮代碼的整潔性和復用性。

由于柱子的寬度和y軸坐標值一樣,只是每個柱子的值、顏色、名稱不同,可以考慮將每個柱子的設置對象寫成公共方法,經(jīng)過傳值完成。

四、為每個柱子設置不同顏色,以及漸變色的設置

這個是在series中進行設置的,series是個數(shù)組,我們有四個柱子表示四種數(shù)據(jù),每個柱子對應數(shù)組中的一個對象,即series數(shù)組中包含了四個對象:

series: [
  getBarSeriesData('telNoAnsweredCount'),
  getBarSeriesData('emptyCount'),
  getBarSeriesData('timeoutCount'),
  getBarSeriesData('joinEmptyCount')
]

備注:為了提高代碼的可讀性和可拓展性,減少冗余代碼,此處將數(shù)組中的對象提取成一個公共方法,根據(jù)參數(shù)不同,顯示不同數(shù)據(jù)。

  • 首先將每個柱子的配置對象寫成公共方法:

下圖是該公共方法的代碼內(nèi)容截圖,主要是將漸變色的色值(color)、柱子名稱(name)和數(shù)據(jù)(data)寫成變量:

附上代碼如下:

function getBarSeriesData(target: keyof typeof propDict): SeriesOption {
  return {
    name: propDict[target].name,
    data: incomingCallTrendData.data.data[target],
    tooltip: {
      trigger: 'axis'
    },
    type: 'bar',
    barWidth: '6', // 柱子寬度可自定義
    roundCap: true,
    itemStyle: {
      borderRadius: [5, 5, 0, 0], // 帶圓角的柱子設置
      color: {
        type: 'linear',
        x: 0,
        y: 0,
        x2: 0,
        y2: 0.95,
        colorStops: [
          {
            offset: 0,
            color: propDict[target].colorStart, // 0% 處的顏色
          },
          {
            offset: 1,
            color: propDict[target].colorStop, // 100% 處的顏色
          },
        ],
        global: false, // 缺省為 false
      },
    }
  }
}
  • 將漸變色的顏色、柱子名稱(name)進行自定義:

const propDict = {
  telNoAnsweredCount: {
    name: '客戶呼入隊列未接通數(shù)',
    index: 0,
    color: 'rgba(227, 103, 61, 1)',
    colorStart: 'rgba(227, 103, 61, 1)',
    colorStop: 'rgba(252, 70, 107, 1)'
  },
  emptyCount: {
    name: '排隊無可用坐席溢出數(shù)',
    index: 1,
    color: 'rgba(239, 217, 171, 1)',
    colorStart: 'rgba(239, 217, 171, 1)',
    colorStop: 'rgba(221, 145, 123, 1)'
  },
  timeoutCount: {
    name: '排隊超時溢出數(shù)',
    index: 2,
    color: 'rgba(2, 164, 255, 1)',
    colorStart: 'rgba(2, 164, 255, 1)',
    colorStop: 'rgba(5, 125, 210, 1)'
  },
  joinEmptyCount: {
    name: '進隊列前無座席溢出數(shù)',
    index: 3,
    color: 'rgba(19, 251, 157, 1)',
    colorStart: 'rgba(250, 112, 170, 1)',
    colorStop: 'rgba(102, 27, 221, 1)'
  }
}
  • 最后,在series中進行調(diào)用即可。這樣不僅柱子是漸變色,而且每個圖例也會自動變成漸變色。

在series數(shù)組中的四個對象,就解決了多數(shù)值柱子的問題。相信看的仔細的同學也發(fā)現(xiàn)了柱子帶圓角的設置位置(borderRadius: [5, 5, 0, 0], // 帶圓角的柱子設置)。

五、總結(jié)

到此這篇關(guān)于基于vue+echarts實現(xiàn)柱狀圖漸變色效果(每個柱子顏色不同)的文章就介紹到這了,更多相關(guān)vue+echarts柱狀圖漸變色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • uni-app無限級樹形組件簡單實現(xiàn)代碼

    uni-app無限級樹形組件簡單實現(xiàn)代碼

    文章介紹了如何在uni-app中簡單封裝一個無限級樹形組件,該組件可以無線嵌套,展開和收縮,并獲取子節(jié)點數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-01-01
  • el-radio-group中的area-hidden報錯的問題解決

    el-radio-group中的area-hidden報錯的問題解決

    本文主要介紹了el-radio-group中的area-hidden報錯的問題解決,下面就來介紹幾種解決方法,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • Vue2.0實現(xiàn)自適應分辨率

    Vue2.0實現(xiàn)自適應分辨率

    這篇文章主要為大家詳細介紹了Vue2.0實現(xiàn)自適應分辨率,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • vue3項目中配置sass,vite報錯Undefined mixin問題

    vue3項目中配置sass,vite報錯Undefined mixin問題

    這篇文章主要介紹了vue3項目中配置sass,vite報錯Undefined mixin問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能

    vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能

    這篇文章主要為大家詳細介紹了vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Vue中使用Ueditor的示例詳解

    Vue中使用Ueditor的示例詳解

    這篇文章主要介紹了Vue中使用Ueditor的方法,本文通過實例給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用

    Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用

    Vuex是實現(xiàn)組件全局狀態(tài)(數(shù)據(jù))管理的一種機制,可以方便的實現(xiàn)組件之間數(shù)據(jù)的共享,數(shù)據(jù)緩存等等,下面這篇文章主要給大家介紹了關(guān)于Vuex(多組件數(shù)據(jù)共享的Vue插件)搭建與使用的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • vue結(jié)合el-upload實現(xiàn)騰訊云視頻上傳功能

    vue結(jié)合el-upload實現(xiàn)騰訊云視頻上傳功能

    這篇文章主要介紹了vue結(jié)合el-upload實現(xiàn)騰訊云視頻上傳功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Vue首頁界面加載優(yōu)化實現(xiàn)方法詳解

    Vue首頁界面加載優(yōu)化實現(xiàn)方法詳解

    如果你也遇到在 vue 應用中,首頁加載資源過多,導致加載緩慢的問題,下面的方法也許能幫到你,主要的處理思想是:讓首頁多余的資源能在需要它的時候再加載
    2022-09-09
  • Vue.js實現(xiàn)一個自定義分頁組件vue-paginaiton

    Vue.js實現(xiàn)一個自定義分頁組件vue-paginaiton

    這篇文章主要為大家詳細介紹了Vue.js實現(xiàn)一個自定義分頁組件vue-paginaiton的具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論