1、期望效果

以柱状图为例,在鼠标滑过每个数据标签时,为了更友好地显示数据内容,需要对显示的数据内容作格式化处理,添加自定义内容。

如下图,鼠标滑过每个数据项时,
第1张是默认提示框;
第2张是处理成百分比数据后,显示当前单个数据项的提示框;
第3张是处理成百分比数据后,显示当前横坐标下多个数据项的提示框。

图1、默认提示框.jpg

图2、单项提示框.jpg

图3、多项提示框.jpg

2、实现

(本文代码只涉及配置项的部分代码)

上述图片的效果可用echarts的tooltip组件中的一个formatter方法实现,formatter支持字符串和回调函数两种配置方式(本文只描述回调函数的实现方式)。
(具体参考:http://echarts.baidu.com/option.html#tooltip.formatter)。

2.1 显示单项数据内容

(处理上图2提示框的效果)

/*** tooltip配置项示例*///用formatter回调函数显示单项数据内容
tooltip: {trigger: 'item', formatter: function(data) { return data.name + '<br/>' +data.seriesName + ':'+(data.value * 100)+'%'; //将小数转化为百分数显示 } } 

2.2 显示多项数据内容

(处理上图3提示框的效果)

/*** tooltip配置项示例*///用formatter回调函数显示多项数据内容
tooltip: {trigger: 'axis', formatter: function(datas) { var res = datas[0].name + '<br/>', val; for(var i = 0, length = datas.length; i < length; i++) { val = (datas[i].value*100) + '%'; res += datas[i].seriesName + ':' + val + '<br/>'; } return res; } } 

2.3 formatter回调函数的传参

formatter回调函数的传参格式为:

 (params: Object|Array, ticket: string, callback: (ticket: string, html: string)) => string 

描述:
1、params:
(1)当tooltip的trigger为‘item’时,显示单项数据内容。formatter回调函数的第一个参数传入一个数据项对象;
(2)当tooltip的trigger为‘axis’时,显示多项数据内容数组。formatter回调函数的第一个参数传入当前类目下的数据项对象数组。
2、ticket:异步回调标识,无需关心,用作callback的传参。
3、callback:异步回调函数,传递ticket与填充内容的html两个参数。

当tooltip的trigger为‘item’时,在控制台中输出的单项数据示例对象为:

{$vars: ["seriesName", "name", "value"],color: "#c23531", componentSubType: "bar", componentType: "series", data: 0.6, dataIndex: 2, dataType: undefine, dname: "1月3日", seriesIndex: 0, seriesName: "iphone6", seriesType: "bar", value: 0.6 } 

其中,几个重要的data对象属性如下:
seriesName:系列名称
value:当前数据值
name:数据名,类目名(上述柱状图中表示当前横坐标数据名)

模拟异步返回提示框内容如下:

//用formatter回调函数模拟异步返回提示框内容
tooltip: {trigger: 'item', formatter: function(param, ticket, callback) { //用定时器模拟异步事件 setTimeout(function() { var res = param.name + '<br/>' +param.seriesName + ':'+(param.value * 100)+'%'; callback(ticket, res); }, 1000); return '';//内容还没返回时显示的内容 } } 

3、扩展-其他配置项的formatter

3.1 直角坐标轴(xAxis/yAxis)中axisLabel的formatter

显示效果为上图2-单项提示框的y轴刻度数据。

//yAxis/xAxis配置项示例——用axisLabel 的formatter回调函数处理数据格式
yAxis: {name: '销量占比',axisLabel : { formatter: function(value) { if(value == 0) { return value; }else { return value*100+'%'; } } } }

链接:https://www.jianshu.com/p/aa585c304660

在echarts中自定义提示框内容相关推荐

  1. Flutter中自定义提示框

    1. 弹出提示框 定义模态框组件,代码如下: import 'package:flutter/material.dart'; class MyDialog extends Dialog{final S ...

  2. echarts中tooltip提示框位置控制

    关键代码: position: function(point, params, dom, rect, size) {//其中point为当前鼠标的位置,size中有两个属性:viewSize和cont ...

  3. php中如何写js代码提示_PHP 如何编写类似js中alert() 提示框

    这篇文章主要介绍了PHP 实现类似js中alert() 提示框功能,非常的实用,这里推荐给大家,有需要的小伙伴来参考下,希望大家能喜欢. 主要应用于添加判断提示,跳转,返回,刷新. 代码如下:/** ...

  4. HTML5 JS alert提示框内容换行显示

    关于HTML中的 alert提示框内容换行显示 草率简单叙述一下,当然方法不止这一种 问题 这里我想让输出的内容换行对齐显示 我首先想到了html中的 br 换行 这是初始代码 <a href= ...

  5. Android WebView获取网页中JavaScript弹框内容

    Android WebView获取网页中JavaScript弹框内容 网页中弹窗的js代码为 <script type="text/javascript" language= ...

  6. echarts中自定义图片的矢量路径设置

    echarts中自定义图片的矢量路径设置 在echarts象形柱图中要使用自定义的图片有三种格式,如下图: 前面两种方式我们项目中也常用到,第三种是矢量路径,如何获取这个矢量路径呢,方法如下: 第一步 ...

  7. 微信小程序自定义提示框制作的简单方法

    微信小程序自定义提示框制作的简单方法 下面的时候提示框的结构 wxml部分 <!-- 提示框 --> <view class="showToast" wx:if= ...

  8. Ubuntu12.04中eclipse提示框黑色背景色修改

    eclipse提示框的背景颜色使用的是系统的提示框颜色配置,在windows下为黄色,但在Ubuntu12.04(gnome)下却 是黑色,造成提示内容很难看清. 在eclipse中我们是无法修改这个 ...

  9. Qt实现侧边栏显示隐藏以及自定义提示框

    1.目的   最近在工作中需要实现一个Qt的侧边栏,通过按钮控制显示和隐藏,此外还要求实现自定义气泡提示框,最终参考网上知识进行了实现,效果如下: 1.窗口控件大小可以随窗体自由缩放: 2.侧边栏按钮 ...

最新文章

  1. 关于 RMAN 备份 数据块 一致性的讨论
  2. C#——《C#语言程序设计》实验报告——综合练习——委托、Lambda表达式、LINQ、接口
  3. 利用 Hexo + Github 搭建自己的博客
  4. Opennms配置SNMP
  5. c语言statistics函数,Logistic回归中C-Statistics计算方法
  6. STM32 IO口双向问题
  7. 我的Linux笔记5--我要连网
  8. 选择排序法之Java实现
  9. Proe创建零件剖视图
  10. SPSS统计检验中的边缘显著及其转化处理【SPSS 063期】
  11. 股票财务指标数据获取,附代码
  12. 商务与经济统计++原书第12版+[(美)安德森著][机械工业出版社][2015.07][515页][13854037]第一章读书笔记
  13. java批量提交事务_java加事务批量提交
  14. iOS获取UUID,并使用keychain存储,可用于封设备
  15. Javascript多功能计算器
  16. word2003,使用修订模式
  17. java编程惯用法_java惯用法转载
  18. BYOD 2.0的安全管理:MAM
  19. [易飞]凭证尾行空白显示异常处理
  20. SiO2/罗丹明B荧光杂化纳米微球/硅钼比核壳结构二氧化硅微球钼酸钙荧光粉的性能

热门文章

  1. ORA-04063: view SYS.DBA_REGISTRY has errors
  2. VMware桌面虚拟化在学校机房的应用
  3. scrapy配置文件操作核心API解读
  4. 释放内存触发断点及数组、指针的NULL初始化
  5. Class与Style绑定
  6. 《中国人工智能学会通讯》——9.21 基于任务规划的资源卫星智能管控模式
  7. 机构押注ABS云平台 融资成本下降1%~3%
  8. Git - Tutorial官方【转】
  9. 详解:XenServer丢失存储库SR解决方法
  10. Java多线程之Lock接口