echarts數(shù)據(jù)可視化實現(xiàn)多個柱狀堆疊圖頂部顯示總數(shù)示例
效果圖
左邊的柱狀圖頂部顯示所有堆疊圖數(shù)據(jù)的總和 右邊柱狀圖頂部也顯示所有堆疊數(shù)據(jù)的總和
方法思路
好多博主用的都是echarts中 barGap 為 '-100%' 讓兩個系列的柱子重疊 從而實現(xiàn)頂部顯示總數(shù) 但是這種方法只適合 這一個X軸 只有一個堆疊柱狀圖 我的需求是一個X軸項 有兩個堆疊柱狀圖 用了這種方法后并不適用該項目,這種方法的思路是單獨出一個數(shù)據(jù) 然后移動該數(shù)據(jù)的位置 從而實現(xiàn)重疊顯示,既然這種思路不適用該項目 轉(zhuǎn)變思路 直接改變他顯示的lable不就可以了 有想法了就去實踐
首先頂部顯示數(shù)字
{ name: lastAdStack.name, type: "bar", stack: "Ad", label: { normal: { show: true,// 顯示label position: "top", // 顯示的label的位置 } }, data: [],//數(shù)據(jù) }
顯示出來label后 只需要修改label的顯示就可以了
修改label的顯示
label提供了一個formatter 方法 來對顯示的文字進行處理,、只需要在你堆疊柱狀圖的最后一個數(shù)據(jù)上這么處理就可以修改他的顯示label 但是他的data數(shù)據(jù)不要改變 這樣就不會影響到他的柱狀高度的顯示 同時label進行了修改
{ name: lastAdStack.name, type: "bar", stack: "Ad", label: { normal: { show: true, position: "top", // 首先把所有項的總和都算出來按照固定的順序方法zonghe這個數(shù)組中 然后在方法中用下標(biāo)對應(yīng)上總和方法 return出來就可以改變他的label現(xiàn)實文字 formatter: function (params) { var index = params.dataIndex; return zonghe[index] }, } }, data: [], }
這樣基本完事 后面的第二個柱狀圖也是這樣 只要放到zonghe這個數(shù)組中的數(shù)據(jù)跟你顯示的數(shù)據(jù)能一一對應(yīng)上 數(shù)據(jù)就不會錯 鼠標(biāo)懸浮上顯示的tooltip數(shù)據(jù)也不會錯
假如你想在鼠標(biāo)懸浮時tooltip中不顯示某一項
在echarts的option中 tooltip設(shè)置項
tooltip: { trigger: "axis", axisPointer: { type: "shadow", }, formatter: (params) => { var res = params[0].name for (var i = 0; i < params.length; i++) { if (this.adStackArr[params[i].seriesIndex].name != null) { // 這行代碼就是判斷語句 具體情況 具體分析 自己打印params 來實現(xiàn)自己的判斷 res += `<div > <span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;background-color:${[ params[i].color, ]};"></span> ${params[i].seriesName} ${params[i].data} </div>`; } } return res; //最后返回的數(shù)據(jù)得一個字符串 并且支持html css 顯示我用的都是行內(nèi)式樣式 拼接成一個字符串 給最后顯示 數(shù)遍懸浮的樣式也是在這里設(shè)置 你的字符串是什么樣式 渲染出來就是什么樣的 } },
至此 大功告成
以上就是echarts實現(xiàn)多個柱狀堆疊圖頂部顯示總數(shù)示例的詳細(xì)內(nèi)容,更多關(guān)于echarts柱狀堆疊圖頂顯總數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于js new Date() 出現(xiàn)NaN 的分析
在一個項目中需要進行日期的格式化,后臺傳到前端是時間的整數(shù)(Date.getTime),當(dāng)后臺數(shù)據(jù)返回字符串時,發(fā)現(xiàn)轉(zhuǎn)換日期時在ie下變成NaN,但是真的是這樣嗎?接下來我們慢慢分析2012-10-10JS實現(xiàn)鼠標(biāo)點擊箭頭旋轉(zhuǎn)180度功能
這篇文章主要介紹了JS實現(xiàn)鼠標(biāo)點擊箭頭旋轉(zhuǎn)180度的效果,通過點擊三角按鈕旋轉(zhuǎn)180度,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-02-02如何基于JS實現(xiàn)Ajax并發(fā)請求的控制詳解
通常為了減少頁面加載時間,先把核心內(nèi)容顯示處理,頁面加載完成后再發(fā)送ajax請求獲取其他數(shù)據(jù),這時就可能產(chǎn)生多個ajax請求,為了用戶體驗,最好是發(fā)送并行請求,這篇文章主要給大家介紹了關(guān)于如何基于JS實現(xiàn)Ajax并發(fā)請求控制的相關(guān)文章,需要的朋友可以參考下2021-08-08解決layui使用layui-icon出現(xiàn)默認(rèn)圖標(biāo)的問題
今天小編就為大家分享一篇解決layui使用layui-icon出現(xiàn)默認(rèn)圖標(biāo)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09Javascript面試經(jīng)典套路reduce函數(shù)查重
reduce函數(shù),是ECMAScript5規(guī)范中出現(xiàn)的數(shù)組方法.下面通過本文給大家分享Javascript面試經(jīng)典套路reduce函數(shù)查重,需要的朋友參考下吧2017-03-03