学习使用echarts图表中formatter的用法,格式化数字金额,控制x轴、y轴展示长度

2023-12-20

学习使用echarts图表中formatter的用法,格式化数字金额,控制x轴、y轴展示长度

控制金额长度

在这里插入图片描述

series: [
                {
                    name: '',
                    type: 'bar',
                    sort: 'none',
                    label: {            //饼图图形上的文本标签
                        normal: {
                            show: true,
                            position: 'outside', //标签的位置inner\inside(饼图扇区内部),outside(饼图扇区外侧,通过视觉引导线连到相应的扇区。),center(在饼图中心位置)
                            textStyle: {
                                fontWeight: 100,
                            },
                            formatter: function (params) {
                                let number = params.data;
                                if (number && number > 10000) {
                                    let new_number = number / 10000;
                                    return unifyNumber(new_number) + '万' + series_unit;
                                } else {
                                    return number + series_unit;
                                }
                            }
                        }
                    },
                    itemStyle: {
                        normal: {
                            //这里设置每个柱子颜色不一样
                            color: function (params) {
                                // 定义一个颜色数组colorList
                                var colorList = all_data.color_data;
                                return colorList[params.dataIndex]
                            },
                        }
                    },
                    data: all_data.series_data
                }
            ]

两位小数,并去除多余.00

   
    function unifyNumber(num) {
        if (num === '') {
            return 0
        } else {
            let handleNum = parseFloat(num)
            let isToFixed = handleNum.toString().includes('.') && handleNum.toString().split('.')[1].length > 2
            if (isToFixed) {
                return handleNum.toFixed(2)
            } else {
                return handleNum
            }
        }
    }

效果图

在这里插入图片描述

控制文字长度

yAxis: {
                type: 'category',
                data: all_data.yaxis_data,
                axisLabel: {
                    formatter: function (params) {
                        var maxLength = 3;
                        //判断长度,超出使用...代替
                        if (params && params.length > maxLength) {
                            return params.substring(0, maxLength - 1) + '.';
                        } else {
                            return params;
                        }
                    }
                }
},

修改后效果图如下:
在这里插入图片描述

完整代码

 option = {
            title: {
                text: '',
                show: false,
            },
            tooltip: {
                trigger: 'axis',
                formatter: "{a} <br\/>{b} : {c}" + series_unit,//{a}:系列名。{b}:数据名。{c}:数据值。
                textStyle: {
                    "fontSize": 13
                },
                axisPointer: {
                    type: 'shadow'
                }
            },
            legend: {},
            grid: {
                left: '3%',
                right: '0%',
                bottom: '3%',
                containLabel: true
            },
            xAxis: {
                show: false,
                type: 'value',
                boundaryGap: [0, 0.01],
            },
            yAxis: {
                type: 'category',
                data: all_data.yaxis_data,
                axisLabel: {
                    formatter: function (params) {
                        var maxLength = 3;
                        //判断长度,超出使用...代替
                        if (params && params.length > maxLength) {
                            return params.substring(0, maxLength - 1) + '.';
                        } else {
                            return params;
                        }
                    }
                }
            },
            series: [
                {
                    name: '',
                    type: 'bar',
                    sort: 'none',
                    label: {            //饼图图形上的文本标签
                        normal: {
                            show: true,
                            position: 'outside', //标签的位置inner\inside(饼图扇区内部),outside(饼图扇区外侧,通过视觉引导线连到相应的扇区。),center(在饼图中心位置)
                            textStyle: {
                                fontWeight: 100,
                            },
                            formatter: function (params) {
                                let number = params.data;
                                if (number && number > 10000) {
                                    let new_number = number / 10000;
                                    return unifyNumber(new_number) + '万' + series_unit;
                                } else {
                                    return number + series_unit;
                                }
                            }
                        }
                    },
                    itemStyle: {
                        normal: {
                            //这里设置每个柱子颜色不一样
                            color: function (params) {
                                // 定义一个颜色数组colorList
                                var colorList = all_data.color_data;
                                return colorList[params.dataIndex]
                            },
                        }
                    },
                    data: all_data.series_data
                }
            ]
        };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习使用echarts图表中formatter的用法,格式化数字金额,控制x轴、y轴展示长度 的相关文章

  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • jquery ajax调用一个接一个循环而不停止页面渲染

    我有一个超过 100 行的表 每行包含 pdf 文件及其说明以及最后一列状态 状态显示 pdf 文件是否可读 一旦表格加载到浏览器中 我就会从表格的每一行获取每个文件名 并使用 ajax 调用对其进行处理 如果文件可读 我将该行的状态字段更
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • 当我更改浏览器选项卡时,Jquery Animate 停止

    我的投资组合中有一个疯狂的问题 http hericdk com http hericdk com 我用jquery做了一个简单的动画 一个太空飞船飞行的动画 然后就出现了我的作品 这个想法不错 大家都喜欢 但问题是 由于某种奇怪的原因 当
  • 如何使用 jQuery 通过 Ajax 发送复选框数组的值?

    我有一个包含很多表单字段的表单 12 x n 行 每行中的第一个字段 代表产品 是一个类似于以下内容的复选框
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • 如何生成 JavaScript 堆栈跟踪? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 关于如何以跨浏览器的方式在 javascript 中生成堆栈跟踪有什么建议吗 较新的浏览器 Chrome 和 Firefox 公开了一个允
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD
  • 如何使用 Jest 测试对象键和值的相等性?

    我有一个mapModule我在其中导入组件并导出它们 import ComponentName from components ComponentName export default name ComponentName 我该如何测试ma
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试
  • jquery:选择xpath或将xpath转换为css?

    我需要基于 xpath 选择 或者将 xpath 转换为 css 有插件或者内置功能吗 ex html body div a 4 each 并非所有 xpath 表达式都可以转换为类似 CSS 的选择器 或者不能有效地工作 您可以使用 eq

随机推荐

  • ubuntu git: ‘lfs‘ is not a git command. See ‘git --help‘.

    sudo apt get install git lfs
  • EXCEL VLOOKUP函数

    参考资料 Excel 史上最全的VLOOKUP应用教程 VLOOKUP函数最全面最详细的讲解大全 涵盖17个重要和常见用法 目录 零 前提条件 一 单条件查找 1 1 顺向查找 1 2 逆向查找 二 多条件查找 2 1 顺向查找
  • 让你的查询更快——11个数据库优化技术

    数据库往往成为软件性能的瓶颈 好的数据对于高性能系统至关重要 以下是 11 种有效的数据库优化技术 1 索引 索引 索引是提供快速查找机制的数据结构 可显著提高查询性能 通过创建排序的数据结构来工作 该结构允许数据库引擎快速定位满足 WHE
  • 电子学会C/C++编程等级考试2022年06月(六级)真题解析

    C C 等级考试 1 8级 全部真题 点这里 第1题 小白鼠再排队2 N只小白鼠 1 lt N lt 100 每只鼠头上戴着一顶有颜色的帽子 现在称出每只白鼠的重量 要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色 帽子的颜色用 red
  • 内网穿透工具frp安装使用

    摘要 之前使用的 nps 目前没有维护更新了 和在使用的过程中做内网穿透的的网速应该有限制 不论云服务器带宽是多少 下载速度都比较慢 这里切换到 frp 试试 对安装和使用简单记录 其和 nps 有很大的操作配置不同之处 相关文章 内网穿透
  • 内网穿透工具frp安装使用

    摘要 之前使用的 nps 目前没有维护更新了 和在使用的过程中做内网穿透的的网速应该有限制 不论云服务器带宽是多少 下载速度都比较慢 这里切换到 frp 试试 对安装和使用简单记录 其和 nps 有很大的操作配置不同之处 相关文章 内网穿透
  • 【广州华锐互动】AR变电站交互仿真实训系统让你学生掌握专业技能

    随着科技的不断发展 智能变电站已经成为了电力系统的重要组成部分 为了提高电力系统的运行效率和安全性 培养高素质的电力工程技术人才 越来越多的高校和职业院校开始开设AR仿真实训课程 本文将为大家简单介绍一下广州华锐互动为知名电力集团开发的AR
  • Python教程84:程序主动退出进程有哪些方法?5种方式总有一种适合你

    在Python中 有多种方法可以主动退出程序进程 这里介绍5种方法 给大家参考一下 1 sys exit 这是最常见的方式 它将引发SystemExit异常 如果这个异常没有被捕获 那么Python解释器将会退出 你可以选择传递一个退出状态
  • 京东岗位吼哔多,具体有啥牛牛说!5类方向近20个岗位等你选~

    字节 测试开发 日常实习 三面面经 已发offer 字节测开秋招面经 华为上海青浦研究所现状 而我 落荒而逃 得物实习小记 运营岗位爆料 干了5年运营后我才知道的事 华为海思麒麟开奖清蒸白菜新鲜出炉 真的难啊 华为上海青浦研究所现状 华为上
  • 测试开发 | 智能农业引领农业革新,人工智能携手农业改写未来

    互联网40的包值得去吗 回暖分析 战绩结算 on 赛文X 软件技术就业单位分析 山东大厂浪潮集团 国家电网研究院VS杭州华为 华为跟银行怎么选 别焦虑 计算机的同学就业率也很低 华为 薪资爆料 字节电商运营实习面经分享 京东 Java OC
  • ESP8266 烧录 (关于BearPi扩展Wifi模块的烧录方式)

    简介 ESP 12F 模块是BearPI IOT购买的一个套餐所带的扩展模块 用来接通网络 但是默认电路不支持重新烧录 下面就是可支持重新烧录的方式 ESP 12F 电路原理图 如上图 GPIO15 gt GND gt 高电平 GPIO2
  • ros2 学习07 rclpy包 详解

    rclpy 是 python 操作ros2 封装的一个工具包 rclpy 源码路径 https github com ros2 rclpy 文档说明地址 https docs ros2 org latest api rclpy index
  • 题解 | #返回购买价格为 10 美元或以上产品的顾客列表#

    脚气怎样治能够根除 2022腾讯秋招面经导航汇总 测试篇 华为上海青浦研究所现状 华为上海青浦研究所现状 华为上海青浦研究所现状 TP普联嵌入式一面 HC还有一千多个 招不到就浪费了 求求大家投下小米吧 吃透计算机网络八股文 年薪40万 实
  • <img src=“x“ onerror=“alert(1)“>

    华为上海青浦研究所现状 华为上海青浦研究所现状 华孝子的胜利 xdm西安交行软开和电信西分怎么选 系表情包 一 旷视科技 一面 求问各位嵌入式Linux有什么好的项目 备战春招了 计软转嵌入式经验分享 嵌入式项目 华为上海青浦研究所现状 字
  • 拼多多temu招人,有较多hc,年前发起流程,拿完年终再入职

    海尔集团 海尔智家 嵌入式硬件工程师面经 MySQL高频面试题 整理牛客网100份面经的C C 校招 社招面试题总结 哇为 再次入池 敏你 华为华子 上海 青浦 第一批 薪资统计 大疆车载 嵌入式软件实习生 底层软件方向 冬季招聘专场感想
  • 基于vue-cli快速发布vue npm 包

    一 编写组件 1 初始化项目并运行 vue create vue digital count npm run serve 2 组件封装 新建package文件夹 因为我们可能会封装多个组件 所以在src下面新建一个 package 文件夹用
  • 简易版chalk

    简易版chalk chalk chalk Terminal string styling done right github com MINI 系列 五颜六色的控制台 ANSI转义序列 维基百科 自由的百科全书 wikipedia org
  • Different WiFi cards -QCN9274

    华为上海青浦研究所现状 华为上海青浦 值得一去的杭州外企篇 发展稳定 专业不限 双非可入 offer选择 华为上海青浦研究所现状 华为上海青浦研究所现状 华为上海青浦研究所现状 2024届大龄硕士长沙软开求职进展 尾声 牛马 帮选offer
  • Mybatis-plus可视化自动生成代码,提高开发效率神器!

    程序员的公众号 源1024 获取更多资料 无加密无套路 最近整理了一波电子书籍资料 包含 Effective Java中文版 第2版 深入JAVA虚拟机 重构改善既有代码设计 MySQL高性能 第3版 Java并发编程实战 等等 获取方式
  • 学习使用echarts图表中formatter的用法,格式化数字金额,控制x轴、y轴展示长度

    学习使用echarts图表中formatter的用法 格式化数字金额 控制x轴 y轴展示长度 控制金额长度 两位小数 并去除多余 00 效果图 控制文字长度 完整代码 控制金额长度