echarts数据可视化实现多个柱状堆叠图顶部显示总数示例

 更新时间:2023年07月19日 10:38:04   作者:Smith  
这篇文章主要为大家介绍了echarts实现多个柱状堆叠图顶部显示总数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

效果图

左边的柱状图顶部显示所有堆叠图数据的总和 右边柱状图顶部也显示所有堆叠数据的总和

方法思路

好多博主用的都是echarts中 barGap 为 '-100%' 让两个系列的柱子重叠 从而实现顶部显示总数 但是这种方法只适合 这一个X轴 只有一个堆叠柱状图 我的需求是一个X轴项 有两个堆叠柱状图 用了这种方法后并不适用该项目,这种方法的思路是单独出一个数据 然后移动该数据的位置 从而实现重叠显示,既然这种思路不适用该项目 转变思路 直接改变他显示的lable不就可以了 有想法了就去实践

首先顶部显示数字

{
        name: lastAdStack.name,
        type: "bar",
        stack: "Ad",
        label: {
          normal: {
            show: true,// 显示label
            position: "top", // 显示的label的位置
          }
        },
        data: [],//数据
      }

显示出来label后 只需要修改label的显示就可以了

修改label的显示

label提供了一个formatter 方法 来对显示的文字进行处理,、只需要在你堆叠柱状图的最后一个数据上这么处理就可以修改他的显示label 但是他的data数据不要改变  这样就不会影响到他的柱状高度的显示 同时label进行了修改

{
        name: lastAdStack.name,
        type: "bar",
        stack: "Ad",
        label: {
          normal: {
            show: true,
            position: "top",
        // 首先把所有项的总和都算出来按照固定的顺序方法zonghe这个数组中  
          然后在方法中用下标对应上总和方法 return出来就可以改变他的label现实文字
            formatter: function (params) {
              var index = params.dataIndex;
              return zonghe[index]
            },      
          }


        },

        data: [],
      }

 这样基本完事  后面的第二个柱状图也是这样  只要放到zonghe这个数组中的数据跟你显示的数据能一一对应上 数据就不会错 鼠标悬浮上显示的tooltip数据也不会错

假如你想在鼠标悬浮时tooltip中不显示某一项

在echarts的option中 tooltip设置项

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 来实现自己的判断
                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; //最后返回的数据得一个字符串 并且支持html css 显示我用的都是行内式样式 拼接成一个字符串 给最后显示 数遍悬浮的样式也是在这里设置 你的字符串是什么样式  渲染出来就是什么样的
          }
        },

至此 大功告成

以上就是echarts实现多个柱状堆叠图顶部显示总数示例的详细内容,更多关于echarts柱状堆叠图顶显总数的资料请关注脚本之家其它相关文章!

相关文章

  • 关于js new Date() 出现NaN 的分析

    关于js new Date() 出现NaN 的分析

    在一个项目中需要进行日期的格式化,后台传到前端是时间的整数(Date.getTime),当后台数据返回字符串时,发现转换日期时在ie下变成NaN,但是真的是这样吗?接下来我们慢慢分析
    2012-10-10
  • 原生js实现随机点名

    原生js实现随机点名

    这篇文章主要为大家详细介绍了原生js实现随机点名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 原生js实现的移动端可拖动进度条插件功能详解

    原生js实现的移动端可拖动进度条插件功能详解

    这篇文章主要介绍了原生js实现的移动端可拖动进度条插件功能,结合实例形式详细分析了javascript拖动进度条插件的具体定义与使用技巧,需要的朋友可以参考下
    2019-08-08
  • JS实现鼠标点击箭头旋转180度功能

    JS实现鼠标点击箭头旋转180度功能

    这篇文章主要介绍了JS实现鼠标点击箭头旋转180度的效果,通过点击三角按钮旋转180度,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2024-02-02
  • JavaScript中的变量声明你知道吗

    JavaScript中的变量声明你知道吗

    这篇文章主要为大家详细介绍了JavaScript中的变量声明,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • JS实现简单Tab栏切换案例

    JS实现简单Tab栏切换案例

    这篇文章主要为大家详细介绍了JS实现简单Tab栏切换案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 如何基于JS实现Ajax并发请求的控制详解

    如何基于JS实现Ajax并发请求的控制详解

    通常为了减少页面加载时间,先把核心内容显示处理,页面加载完成后再发送ajax请求获取其他数据,这时就可能产生多个ajax请求,为了用户体验,最好是发送并行请求,这篇文章主要给大家介绍了关于如何基于JS实现Ajax并发请求控制的相关文章,需要的朋友可以参考下
    2021-08-08
  • 解决layui使用layui-icon出现默认图标的问题

    解决layui使用layui-icon出现默认图标的问题

    今天小编就为大家分享一篇解决layui使用layui-icon出现默认图标的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Javascript面试经典套路reduce函数查重

    Javascript面试经典套路reduce函数查重

    reduce函数,是ECMAScript5规范中出现的数组方法.下面通过本文给大家分享Javascript面试经典套路reduce函数查重,需要的朋友参考下吧
    2017-03-03
  • js getElementsByTagName的简写方式

    js getElementsByTagName的简写方式

    用最少的代码,做最多的事情. getElementsByTagName的简写方法.
    2010-06-06

最新评论