echarts 图表配置tooltip 的formatter

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

echarts 的图表配置非常的灵活自由,但是不熟悉的时候容易不知道怎么配置。
最近遇到一处需要自定义tooltip的内容,小小的踩了个坑,特此记录一下解决过程。

tooltip是什么

有的同学可能不清楚tooltip是什么,它实际上就是鼠标移到图表上后展示的类似数据点详情的一个说明,就是我图片上框出来的那个
在这里插入图片描述
在options配置项处于第一级目录,与series,xAxis,yAxis同级

formatter 怎么配置?

formatter有两种配置方式:①字符串模板 ②回调函数
个人觉得字符串模板自由度比较低,需要根据他给定的几个模板变量例如 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等去做拼接来展示
所以我会着重讲自由度更高的回调函数方式

options = {
    tooltip: {
        formatter: function() {
        	console.log(arguments)
        }
    }
}
首先我们把回调函数的参数打印出来看看

在这里插入图片描述

$vars: (3) ["seriesName", "name", "value"]
axisDim: "x"
axisId: "series00"
axisIndex: 0
axisType: "xAxis.category"
axisValue: "九月11号"
axisValueLabel: "九月11号"
color: "#3b85ff"
componentIndex: 0
componentSubType: "line"
componentType: "series"
data: 12
dataIndex: 0
dataType: undefined
marker: "<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#3b85ff;"></span>"
name: "9月11号"
seriesId: "降雨量0"
seriesIndex: 0
seriesName: "降雨量"
seriesType: "line"
value: 12

可以看到我们主要需要的属性是在第一个参数内,我们可以给他命名params。
params是一个数组,长度和数据项条数一致,所以如果我们有多个条目需要展示的时候需要针对这个params做个循环。
params里每一项都是一个对象,对象中的属性说明可以参考文档,其实这个内容和字符串模板的模板变量是类似的,但是可读性更高。
我们用的比较多的可能是:

params[i].data: 数据值
params[i].seriesName: 条目名
params[i].marker: 颜色点

options = {
    tooltip: {
        formatter: function(params) {
        	let str = '';
        	params.forEach((item, idx) => {
        		str += `${item.marker}${item.seriesName}: ${item.data}`
        		switch (idx){
        		    case 0:
        		        str += '个';
        		        break;
        		    case 1:
        		        str += '条';
        		        break;
        		    case 2:
        		        str += '次';
        		        break;
        		    default:
        		        str += 'w(゚Д゚)w'
        		}
        		str += idx === params.length -1? '': '<br/>'
        	})
        	return str
        }
    }
}

在这里插入图片描述
这就是最终的结果了。

说到底,无论是哪种方式,最终formatter 的值都是字符串,所以我们需要做的就是字符串的拼接,回调函数的方式的优势在于处理字符串更加灵活,调用属性的方式获取想要的值,可读性更高。
Echarts——绘制饼并导入数据,tooltip中的formatter使用方法 DIY饼中的环形样式 阅读详情

相关推荐

day7pyecharts-组合

pyecharts-组合

weixin_46637999的博客 1706

Echarts - 鼠标 hover 移入去显示数据

效果 实现方法 官方文档(tooltip):https://echarts.apache.org/zh/option.html#grid.tooltip配置项中加入以下代码: // 具体配置请查阅配置文档(上方链接) tooltip : { trigger: 'axis', axisPointer: { type: 'cross',//指示类型 label: { // 横纵坐标指示区块颜色 backgrou

🏆 前端领域优质创作者 5858

Echarts图表混搭之柱状与饼混搭图表

Echarts图表混搭之柱状与饼混搭图表 利用ECharts图表的在线构建次数、各图表组件的使用次数、各版本下载和各主题下载情况的数据绘制柱状与饼混搭图表

wqqstudy的博客 2534

echarts图表配置tooltipformatter,如何获取并显示返回值的其他字段,附示例

分别表示系列名,数据名,数据值等。在 trigger 为 ‘axis’ 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。说到底,无论是哪种方式,最终formatter的return值都是字符串,所以我们需要做的就是字符串的拼接,回调函数的方式的优势在于处理字符串更加灵活,调用属性的方式获取想要的值,可读性更高。{b},{c},{d},{e},分别表示系列名,数据名,数据值等去做拼接来展示,只能展示显示的图表看到的数据,

芳草萋萋鹦鹉洲哦 2万+

关于Echarts标的tooltip配置中的formatter

模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。在 trigger 为 ‘axis’ 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。不同图表类型下的 {a},{b},{c},{d} 含义不一样。使用tooltipformatter进行格式化,格式化前效果如上,一个是数字,一个是xxx万,不符合设计,需要统一,期望效果是这样。自定义函数的第一个参数params是formatter需要的数据集。

weixin_55501516的博客 9604

ECharts tooltip最多展示某几条,超出显示省略提示

本文介绍了微信小程序中通过ECharts实现tooltip内容超出限制时显示省略提示的方法。

Smile_ping的博客 141

Echarts可视化图表tooltip下的formatter配置,过滤空项和保存形颜色

【代码】Echarts可视化图表tooltip下的formatter配置,过滤空项和保存形颜色。

guojixin12的博客 455

Echarts图表中,可以同时存在两个或多个 tooltip中的formatter方法吗?

一个echarts图表可以存在两个tooltip吗 ,可以给不同的区域使用不同的formatter方法吗

weixin_43005654的博客 4573

tooltip

Echart插件的配置tooltip。 原创作者:niexia. 来源:CSDN 原文:https://blog.csdn.net/niexia_/article/details/77891474 首先,tooltip是提示框组件,即鼠标移上去时候显示的提示信息。在demo饼配置tooltip: { trigger: ‘item’, formatter: “{a} {b} : {c} ...

qq_42508565的博客 1万+

Echarts不同数据使用不同tooltip设置模板( series.tooltip不生效)

echartstooltip使用经验纪要

fjxtgdx的博客 4602

Echarts tooltip不影响其样式地给文字加单位

Echarts tooltip不影响其样式地给文字加单位 代码: formatter: function (params) { var result = params[0].name + "<br>"; params.forEach(function (item) { if (item.value) { result += it...

qq_20777797的博客 794

echarts设置tooltip的层级

echarts设置tooltip的层级。

maohangfei.cn 2175

Echarts线形图表根据后端返回的枚举值渲染相应的文案

如:想要将后端返回的0,1在Y轴上和tooltip上显示为对应的停止和运行 在设置之前是这样的: 在图表设置的option中加上如下配置项 option = { // 在tooltip中增加formatter tooltip: { formatter: (params) => { let value = params[0].data let status = '' if (value.

蒲小若的博客 361

echarts 堆叠柱状 tooltip倒序展示数据

echarts 堆叠柱状 tooltip倒序展示数据

细节怪的博客 2361

Echarts图表联动场景下,如何精准控制 Tooltip 显示?(附实战代码)

本文深入探讨了Echarts在多图表联动场景下精准控制Tooltip显示的实战技巧。通过解析Tooltip的核心配置、多图表联动架构及高级技巧,帮助开发者解决Tooltip显示混乱问题,提升数据可视化效果。文章还提供了性能优化和移动端适配策略,附有实战代码示例。

diaolapei9880的博客 447

图表数据过大时,tooltip分列显示,tooltip的位置显示

echartstooltip的显示过多分列显示。显示在图表的左侧或右侧,tooltip的位置显示

weixin_45443118的博客 349

Echarts Tooltip的大量数据下显示优化

通过查阅相关的api,发现 tooltip有一个 formatter配置项,自定义显示可以用这个来实现,我的思路是既然echarts默认都是只显示一列,那么我能不能自定义渲染改成多列显示,在网上搜索了一下,有前辈已经实现了,于是我复制相关的代码,进行了相关修改。我尝试判断dom是否在可视窗口内,如果不在,计算偏移量,但是因为技术菜,没办法,实现,从网上找来了相关代码,进行修改,基本上算是解决了。这里查阅了相关的api,发现有一个 position 相关的api,可以用来调整tooltip的显示位置。

weixin_42003713的博客 932

Echartstooltip显示的数据与数据本身顺序相反

echarts中默认的tooltip和柱状显示顺序相反,客户要求表盘,tooltip例显示顺序一致,也就是五线城市在tooltip例中都需要第一个显示: 解决方式: 修改tooltipformatter: 修改legend例的顺序: let numStoreFnT1 = cloneDeep(echartConfig.initVerticalOption); let legendT=[]; legendT.unshift(name) numStoreFnT1.legen...

weixin_41025720的博客 4206
上一篇: CSDN博客页面内插入代码演示的教程
前端学员
博客等级 码龄11年 4粉丝 6原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值