Echarts 关于formatter的使用

news/2024/10/18 17:12:09/文章来源:https://www.cnblogs.com/xbxxf/p/18474652

其实这个 formatter 很实用哈,可以自定义很多格式内容,尤其是提示和图例那边,还有柱状图的内容啥的

官网给的案例啊,看不懂哈哈哈

来点自己的小经验,几乎都可以实用啊,而且可以搭配rich自定义样式,

1、字符串模板

最简单的就是这样使用的,关于参数,这个官网给答案了,用啥取啥就行了,

 

tooltip: {trigger: 'item',formatter: '{b} : {d}%'
}

去过搭配rich使用,其实这个b和c就等于class 这样就可以随便加“%”或者其他单位啥的


formatter: [
   '{b|{b}}',
   '{c|{c}%}'].join('\n'),
rich: {
   b: {
     color: '#251717',
     fontSize: 14,
     fontWeight: "bold", 
     overflow : 'truncate',
   }, 
   c: {
     fontSize: 12,
     color: '#7F8389',
     padding: [5, 0, 0, 0],
     }, 
},

2. 回调函数

这个那个真好玩了哈哈哈哈,没想到这么强大

formatter: function (val) {
// 建议先打印一下自己的val 看一下数据格式,然后可以根据自己的需要循环数据或者直接输出数据了,就比如我这个是图例里面的数据,因为数据太多了,不能自动换行,我加了一下每隔4字加一下换行
//还是可以搭配rich使用
var charArr = val.name.split('');var str = ''for (let i = 0; i < charArr.length; i++) {str += charArr[i];if (i != 0 && i % 4 == 0) str += '\n'; //每隔4个字换行 }return `{a|${str}}\n{c|${val.data.value}%}`; },
rich: {

   b: {

     color: '#251717',

     fontSize: 14,

     fontWeight: "bold", 

     overflow : 'truncate',

   }, 

   c: {

     fontSize: 12,

     color: '#7F8389',

     padding: [5, 0, 0, 0],

     }, 

},
 

还可以直接html标签,和原生js是的,哈哈哈哈梦回刚毕业整php的时候,但是emphasis 里面不支持直接写标签啊,可以用上面的方法

formatter: function(params) {  let result = '';let res = params.map(item => {  return ` <span style="font-size: 12px;color:#7F8389;">${item.seriesName}</span> <span style="margin-left:5px;font-size: 12px;color:#333333;"> ${item.value}</span>`;  });  result = ` <span style="display:inline-block;font-size: 12px;color:#333333;padding-bottom:5px;">${params[0].name}</span> </br>`  + res.join('<br>')return result;  }, 

刚开始对echarts比较抵触,感觉好麻烦,但是其实官网给的很详细,可以多看看,可以自定义很多东西,静下心来慢慢来吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/816956.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Higress 重磅更新:AI 能力全面开源,云原生能力再升级

Higress 最新的 1.4 版本基于为通义千问,以及多家云上 AGI 厂商客户提供 AI 网关的积累沉淀,开源了大量 AI 原生的网关能力。作者:澄潭、钰诚 新版本简介 Higress 最新的 1.4 版本基于为通义千问,以及多家云上 AGI 厂商客户提供 AI 网关的积累沉淀,开源了大量 AI 原生的网…

普天同悲

谨记,谨记。世人若学我,当如堕魔道。

Denoising Diffusion Implicit Models(去噪隐式模型)

DDPM有一个很麻烦的问题,就是需要迭代很多步,十分耗时。有人提出了一些方法,比如one-step dm等等。较著名、也比较早的是DDIM。 原文:https://arxiv.org/pdf/2010.02502 参考博文:https://zhuanlan.zhihu.com/p/666552214?utm_id=0 DDIM假设 DM假设 ddim给出了一个新的扩…

20222408 2024-2025-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 1.1本周学习内容 本次实验中,学习的重点是后门的实现与启动方式,学习内容还有后门的定义、原理以及可能影响,netcat、socat、MSF meterpreter软件的应用。 1.2实验内容简述使用netcat获取主机操作Shell,利用cron启动一项任务 使用socat获取主机操作Shell, 利用创…

京东APP百亿级商品与车关系数据检索实践

作者:京东零售 张强导读 本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询。通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性能场景。希望通过本文,读者可以对缓存的内部结构知识有一…

专题(二十) cut

一、作用与介绍cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符、字段写至标准输出。 二、用法选项 用法说明 举例说明 备注-b 按字节截取 who | cut -b 3 输出每行的第三个字节-c 按字符截取,常用于中文 cut -c 2 输出每行的第二个中文字符-d 指定以什么为…

【DevExpress】(多行粘贴、块粘贴)

复制是GridControl自带的属性,主要解决的是多个单元格复制的问题,这里涉及到两个参数。 主要是粘贴的 先定义两个全局变量,在单元格点击事件的时候获取单元格的行号和列号1 //获取当前选中单元格所在的列序号2 int curntindex;3 //获取获取当前选中单元格所在的行…

Jenkins+Coverage的代码覆盖率集成实践

Jenkins+Coverage的代码覆盖率集成实践 一、工具介绍Jenkins: Jenkins是一个开源的、基于Java开发的持续集成工具,它可以帮助开发人员自动化构建、测试和部署软件项目。 Coverage: Coverage是一个Python代码覆盖率工具,用于测量代码执行过程中哪些代码行被执行到,从而评估…

C++顺序结构(3)、数据类型_____教学

一、设置域宽setw() 输出的内容所占的总宽度成为域宽,有些高级语言中称为场宽。 使用setw()前,必须包含头文件iomanip,即#include<iomanip> 头文件iomanip,用来声明一些“流操作符”,需要一定格式输入输出时,就需要用到它,比较常用的有设置域宽、设置左右对齐、设置…

OpenCity: Open Spatio-Temporal Foundation Models for Traffic Prediction

1. 数据准备 在这个数据处理过程中,以数据集 PEMS07M 为例,整个数据抽取和划分过程如下:初始数据维度:原始训练数据 data_train 的维度为 (12672, 228, 3)。其中:12672 表示时间步数,代表不同的时间点采样的数据。 228 表示空间节点数(例如不同的交通站点)。 3 表示每个…

04C++顺序结构(3)

1、设置域宽setw(); 2、cin语句; 3、输入输出.格式化一、设置域宽setw() 输出的内容所占的总宽度成为域宽,有些高级语言中称为场宽。 使用setw()前,必须包含头文件iomanip,即#include<iomanip> 头文件iomanip,用来声明一些“流操作符”,需要一定格式输入输出时,就…

轻松上手-MVVM模式_关系型数据库_云函数T云数据库

作者:狼哥 团队:坚果派 团队介绍:坚果派由坚果等人创建,团队拥有12个华为HDE带领热爱HarmonyOS/OpenHarmony的开发者,以及若干其他领域的三十余位万粉博主运营。专注于分享HarmonyOS/OpenHarmony、ArkUI-X、元服务、仓颉。团队成员聚集在北京,上海,南京,深圳,广州,宁…