亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

echarts柱狀堆疊圖實(shí)現(xiàn)示例(圖例和x軸都是動(dòng)態(tài)的)

 更新時(shí)間:2023年04月01日 11:35:04   作者:崽崽的谷雨  
一些柱形圖在數(shù)據(jù)量比較多的時(shí)候,橫向排列受到擠壓,導(dǎo)致柱形圖,變的非常細(xì),影響整體的效果,下面這篇文章主要給大家介紹了關(guān)于echarts柱狀堆疊圖(圖例和x軸都是動(dòng)態(tài)的)的相關(guān)資料,需要的朋友可以參考下

問(wèn)題描述: 

 echarts柱狀堆疊圖,是很常用的圖表,官網(wǎng)的例子很簡(jiǎn)單 。圖例(legend),x軸(xAxis)都是寫死的。但是一般實(shí)際應(yīng)用中都是 動(dòng)態(tài)的。下面就舉個(gè)例子,實(shí)現(xiàn)圖例和x軸都是動(dòng)態(tài)的 柱狀堆疊圖。

echarts 官網(wǎng)柱狀 堆疊圖 示例

 實(shí)現(xiàn)思路及步驟:

思路:通過(guò)官網(wǎng)的例子,我們能知道

  1.  xAxis 是一個(gè)數(shù)組 
  2.  series 是一個(gè)數(shù)組對(duì)象  其中name需要 對(duì)應(yīng)著的是圖例,有幾個(gè)圖例 series里就應(yīng)該有幾個(gè)項(xiàng)。需要把你的數(shù)據(jù)處理成 和例子數(shù)據(jù)結(jié)構(gòu)一樣的。
  3. stack 這個(gè)屬性 很重要 Documentation - Apache ECharts stack API,官網(wǎng)的例子里 是三個(gè)柱狀圖并列。stack 相同的就會(huì) 堆疊在一起(stack 有幾個(gè)他就會(huì)有幾排并列,官網(wǎng)例子里有Ad,Search Engine他就有兩個(gè)堆疊,去掉沒(méi)有 stack屬性的就能看到了)。

知道了這些就 很清晰了。

  • 第一步就是 遍歷數(shù)據(jù) ,找出 x軸的數(shù)據(jù)(切記要去重)
  • 遍歷數(shù)據(jù) 生成 series

其實(shí)就是對(duì)數(shù)據(jù)的處理。 

示例:

 把這樣的數(shù)據(jù) 做成堆疊圖

let data = [
        { 日期: '2022-08-16', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 15 },
        { 日期: '2022-08-16', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-16', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 5 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-二次抽真空值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-二次抽真空時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 45 }, ,
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-真空檢漏時(shí)間', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '空調(diào)液加注-二次抽真空值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 15 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 23 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-正壓檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-加注量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-精真空值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 69 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 31 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-精真空值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 99 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-真空檢漏值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-正壓檢漏值', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-真空檢漏時(shí)間', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-加注量', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-真空檢漏值', 報(bào)警總次數(shù): 15 },
    ];

代碼:

把該代碼復(fù)制到 官網(wǎng)例子里 就能看到效果 。

let data = [
        { 日期: '2022-08-16', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 15 },
        { 日期: '2022-08-16', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-16', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 5 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-二次抽真空值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-二次抽真空時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 45 }, ,
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-真空檢漏時(shí)間', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '空調(diào)液加注-二次抽真空值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-17', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 15 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 23 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-正壓檢漏值', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-加注量', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-18', 要素名稱: '剎車液加注-精真空值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 69 },
        { 日期: '2022-08-18', 要素名稱: '空調(diào)液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 3 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-正壓壓力', 報(bào)警總次數(shù): 31 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-精真空值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓壓力', 報(bào)警總次數(shù): 99 },
        { 日期: '2022-08-19', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-19', 要素名稱: '空調(diào)液加注-真空檢漏值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-加注量', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-含水量', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-正壓檢漏值', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-正壓檢漏時(shí)間', 報(bào)警總次數(shù): 6 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-真空檢漏時(shí)間', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-加注量', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '剎車液加注-真空檢漏值', 報(bào)警總次數(shù): 9 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-正壓檢漏值', 報(bào)警總次數(shù): 12 },
        { 日期: '2022-08-20', 要素名稱: '空調(diào)液加注-真空檢漏值', 報(bào)警總次數(shù): 15 },
    ];
    console.log(data)
    let date = []; //x軸日期
    let lenged = []; //series的個(gè)數(shù)
    let s = [];
    data.map((item) => {
        date.push(item["日期"]);
        lenged.push(item["要素名稱"]);
 
    });
 
    date = [...new Set(date)]; //去重
    lenged = [...new Set(lenged)];
    console.log(date, lenged)
    let series = [];
    lenged.map((item) => { //生成  series
        let obj = {
            name: item,
            type: "bar",
            stack: "As",
            emphasis: {
                focus: 'series'
            },
            data: []
        };
        series.push(obj);
    });
    console.log(series)
 
    data.map((item) => {//對(duì)series 的data進(jìn)行處理
 
        series.map((item1) => {
 
            if (item1.name == item["要素名稱"] && date.indexOf(item["日期"]) > -1) {
                item1.data[date.indexOf(item["日期"])] = item["報(bào)警總次數(shù)"]
            };
        })
    })
   
option = {
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow'
    }
  },
  legend: {},
  grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    containLabel: true
  },
  xAxis: [
    {
      type: 'category',
      data: date
    }
  ],
  yAxis: [
    {
      type: 'value'
    }
  ],
  series: series
};

總結(jié)

到此這篇關(guān)于echarts柱狀堆疊圖的文章就介紹到這了,更多相關(guān)echarts柱狀堆疊圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 預(yù)加載css或javascript的js代碼

    預(yù)加載css或javascript的js代碼

    為了提高網(wǎng)站的加載速度,有一個(gè)很重要的手段就是在用戶瀏覽過(guò)程中的上游網(wǎng)站做一個(gè)文件的預(yù)加載。
    2010-04-04
  • js獲取指定日期前后的日期代碼

    js獲取指定日期前后的日期代碼

    js獲取指定日期前后的日期,在實(shí)際應(yīng)用中還是比較實(shí)用的,下面為大家簡(jiǎn)單介紹下具體的實(shí)現(xiàn)過(guò)程,有需要的朋友可以參考下
    2013-08-08
  • JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼

    JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼

    本篇文章主要介紹了JavaScript文件的同步和異步加載的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • 一篇文章搞定echarts地圖輪播高亮

    一篇文章搞定echarts地圖輪播高亮

    ECharts是一個(gè)使用 JavaScript 實(shí)現(xiàn)的開(kāi)源可視化庫(kù),涵蓋各行業(yè)圖表,滿足各種需求,下面這篇文章主要給大家介紹了關(guān)于echarts地圖輪播高亮的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Svelte?和?React的比較詳解(一)

    Svelte?和?React的比較詳解(一)

    在這篇文章中,我將Svelte?還是?React作了對(duì)比,不能以個(gè)人意見(jiàn)代表誰(shuí)好誰(shuí)壞。以及我發(fā)現(xiàn)使用這兩個(gè)框架的一些區(qū)別,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • JavaScript事件處理的方式(三種)

    JavaScript事件處理的方式(三種)

    最近這段時(shí)間因?yàn)槊刻煲薷木W(wǎng)站,為網(wǎng)站做特效,所以看了很多的js接觸事件,自己只會(huì)使用一小部分,有時(shí)用的時(shí)候也比較混亂,現(xiàn)在系統(tǒng)的整理了一下,特此分享到腳本之家平臺(tái)供大家參考下
    2016-04-04
  • js創(chuàng)建對(duì)象幾種方式的優(yōu)缺點(diǎn)對(duì)比

    js創(chuàng)建對(duì)象幾種方式的優(yōu)缺點(diǎn)對(duì)比

    這篇文章主要對(duì)比了js創(chuàng)建對(duì)象幾種方式的優(yōu)缺點(diǎn),感興趣的小伙伴們可以參考一下
    2016-09-09
  • headjs實(shí)現(xiàn)網(wǎng)站并行加載但順序執(zhí)行JS

    headjs實(shí)現(xiàn)網(wǎng)站并行加載但順序執(zhí)行JS

    本文主要介紹如何使用head.js實(shí)現(xiàn)網(wǎng)站并行加載但順序執(zhí)行JS,提高網(wǎng)站加載速度。需要的朋友可以看下
    2016-11-11
  • JS解決url傳值出現(xiàn)中文亂碼的另類辦法

    JS解決url傳值出現(xiàn)中文亂碼的另類辦法

    為什么用表單的方式就可以傳遞中文,而URL的方式就不行了呢?非得用URL傳值的方式才能解決問(wèn)題嗎?這里我想到了動(dòng)態(tài)表單,何不用它來(lái)解決呢
    2013-04-04
  • JavaScript eval()函數(shù)定義及使用方法詳解

    JavaScript eval()函數(shù)定義及使用方法詳解

    這篇文章主要介紹了JavaScript eval()函數(shù)定義及使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論