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

2023-12-21

学习使用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 无法识别 DOM 元素上的 `isActive` 属性 - styled-components

    我有以下内容svg我传递道具的组件 import React from react export default props gt
  • Sequelize 关联 - 请改用 Promise 风格

    我正在尝试将 3 张桌子连接在一起Products Suppliers and Categories然后排SupplierID 13 我读过了如何在sequelize中实现多对多关联 https stackoverflow com a 25
  • 按 Enter 键提交消息?

    我正在开发一个基于本教程使用 Meteor 构建的聊天应用程序 http code tutsplus com tutorials real time messaging for meteor with meteor streams net
  • 如何从左向右滑动文本和图像并具有滑动效果[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 jQuery live() 初始化插件?

    使用 jQuery 在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么 例如 假设我想要全部
  • 为什么人们将自己的自定义/用户函数添加到 jQuery 对象中? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我见过人们将自己的自定义 用户功能添加到jQuery目的 例如 myUserFunc function regular JS code 你为什么
  • 如何使用javascript将视频文件转换为字符串?

    我在 signalR 工作 我想通过将视频文件拆分为不同部分来将视频文件从一个客户端发送到另一个客户端 我已经通过分割图像源数据发送图像并在另一个客户端上接收该图像 document getElementById fileUpload ad
  • linkedin js 如何是有效的 javascript

    LinkedIn Javascript 集成是通过以下方式完成的 我不明白 这怎么是一个有效的javascript 为什么 api key 没有被引用 脚本标签的主体带有src永远不会被执行 但是 加载的脚本可以像访问任何其他元素的内容一样
  • 检索受“rowspan”影响的行的列索引的最有效方法是什么?

    考虑下表 table thead tr th th th A th th B th th C th tr thead tbody tr th 1 th td Apples td td Oranges td td Pears td tr tb
  • 全日历与 UTC 和本地日期的混淆

    我确实让 fullcalendar 正常初始化 所以它代表当前日期 午夜 gt 午夜 1 天 1 小时时段 我从其他一些数据源获取带有时间戳的数据 格式为 YYYY MM DD HH mm 作为字符串传输 无时区信息 因此 我将该字符串转换
  • 如何在没有 jQuery 或延迟加载的情况下推迟背景图像

    根据帕特里克 塞克斯顿tutorial https varvy com pagespeed defer images html 我想以与这里相同的方式推迟背景图像img img src data image png base64 R0lGO
  • jPlayer 无法在 Firefox 中播放 mp3

    我正在集成 jplayer 来播放由使用 jQuery 的单击事件触发的精选 mp3 文件 用于实现此目的的代码是 play link click function jquery jplayer 1 jPlayer destroy srcF
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • 使标签充当输入按钮

    我怎样才能做一个 a href http test com tag test Test a 就像表单按钮一样 通过充当表单按钮 我的意思是 当单击链接执行操作时method get 或 post 以便能够通过 get 或 post 捕获它
  • 使用外部按钮选择下一个/上一个单选按钮

    我正在制作一种幻灯片形式 当用户单击下一张图像时 还必须选择单选按钮 我的滑动功能可以正常工作 下一个按钮 也可以工作 但我有点坚持使用 上一个 按钮 不明白为什么它不起作用 fiddle http jsfiddle net V4tdx 这
  • 反转比例函数

    这对我来说很有趣 看下面的D3代码 var scale d3 scale linear domain 100 500 range 10 350 scale 100 Returns 10 scale 300 Returns 180 scale
  • 阻止 PM2 上不同时运行的请求

    在我的 Express 应用程序中 我在应用程序中定义了 2 个端点 一种用于 is sever up 检查 另一种用于模拟阻塞操作 app use status req res gt res sendStatus 200 app use
  • javascript 加壳器与压缩器

    我想知道加壳器与压缩器的区别 优点是什么 即您应该在网络应用程序中部署压缩版本还是压缩版本 示例代码 var layout NAVVISIBLE 1 Init function this Resize Dimensions function
  • 更改 jQuery UI 选项卡的选定选项卡

    这个问题之前已经被问过几次了 但没有一个与我的情况相似 我有 jQuery Tabs 控件 可以通过 ajax 加载我的选项卡 div ul li a href gt Information a li ul div
  • 了解客户端文件的对象 URL 以及如何释放内存

    我在用createObjectURL获取本地图像文件的引用 URL 当我完成文件 图像后 我打电话revokeObjectURL释放该内存 一切对我来说都很好 但我只是想确保我释放了我能释放的所有内存 我检查后出现了我的担忧chrome b

随机推荐

  • 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 效果图 控制文字长度 完整代码 控制金额长度