1.开启指示器

  • 默认情况下,指示器是关闭状态,如果需要开启,直接配置tooltip字段即可
var option = {
tooltip:{},
}

2.指示器的触发类型

  • 触发类型的字段为trigger,可选值如下
可选值 说明
'item' 数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用
'axis' 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
'none' 什么都不触发
  • 实际使用过程中,这个字段无需手动指定,图表会自动匹配当前的图表类型

3.设定指示器的模式

  • 指示器的模式分为4种,通过tooltip.axisPointer.type进行配置
类型 说明
'none' 无指示器,默认
'line' 直线指示器,适用于折线图
'shadow' 阴影指示器,适用于柱形图
'cross' 十字准星指示器
  • 指示器的模式一般用在坐标轴图表中,饼图这种图表一般不需要,如图:

    (1)none:没有指示器

(2)line:直线指示器,线条的样式通过tooltip.axisPointer.lineStyle进行配置

(3)'shadow':阴影指示器,阴影的样式通过tooltip.axisPointer.shadowStyle进行配置

(4)'cross':十字准星指示器,能看到当前位置对应的X轴和Y轴的位置,准星的样式通过tooltip.axisPointer.crossStyle进行配置

4.文本值格式化(从 v5.3.0 开始支持)

  • valueFormatter:tooltip 中数值显示部分的格式化回调函数,但是不能针对特定的系列做处理,如果有双Y轴时不适用
valueFormatter: function(value){
return value + '%'
}

5.封装提示组件

默认的提示组件一般预先设定好了一定的格式,例如数据颜色,数据名称和值等等,如图:

如果想要个样式一样,但是数据可以自定义的组件,就需要进行封装,封装需要做到以下两点:

  • 布局:每行分为3个元素,分为左中右3列,左侧圆点,中间系列名称,右侧数值,此外还有颜色,间距等等
  • 数据:数据需要动态获取,包括系列名称,当前数值,当前颜色,当前X轴的值

CSS代码如下:

<style>
.tooltip-title{
font-size:14px;
}
.tooltip-item{
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding:0;
}
.tooltip-item .tooltip-round{
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 10px;
height: 10px;
border-radius: 50%;
content: "";
/* background-color: #fff; */
}
.tooltip-item .tooltip-left{
margin:0 20px 0 15px;
font-size: 12px;
}
.tooltip-item .tooltip-right{
font-size: 12px;
color: black;
font-weight: bold;
}
</style>

js代码;

setToolTip(params){
//当前分类名称
var html = `<div class="tooltip-title">${params[0].axisValue}</div>`
for(var i=1;i<params.length;i++){
//数据名称
var name = params[i].seriesName
//颜色
var color = params[i].color
//数值
var value = params[i].value
//特定的数值转换(可选)
if(name.includes('率')){
value += '%'
}
html += (`<div class="tooltip-item"><span class="tooltip-round" style="background-color: ${color};"></span><span class="tooltip-left">${name}</span><span class="tooltip-right">${value}</span></div>`)
}
//包裹一层外容器
html = `<div class="tooltip-box">${html}</div>`
return html
}

调用:

tooltip:{
trigger:"axis",
formatter:function(params){
//this=>window that=vm
return that.setToolTip(params)
}
},

Echarts 提示组件的更多相关文章

  1. ECharts 提示框组件Tooltip属性大全(包含文本注释)

    tooltip: { // 提示框组件:可以设置在全局(tooltip),可以设置在坐标系中(grid.tooltip.polar.tooltip.single.tooltip),可以设置在系列中(s ...

  2. 转:ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?

    一.什么是ECharts图表的皮肤(主题)? 针对这个问题我只能这样回答,ECharts图表的主题(皮肤)就犹如人的衣服一样,是用来衬托和渲染主体,使其变得更加美观好看的目的.你去过ECharts图表 ...

  3. 在Vue中echarts可视化组件的使用

    echarts组件官网地址:https://echarts.apache.org/examples/zh/index.html 1.找到脚手架项目所在地址,执行cnpm install echarts ...

  4. [js开源组件开发]tip提示组件

    tip提示组件 常见的应用场景中,总是难免会遇到提示信息,比如显示不完全时需要鼠标移上去显示title,比如验证时的错误提示,比如操作按钮的辅助说明等,所以我独立出来了一个小的js组件,tip提示组件 ...

  5. combobox自己主动提示组件加入无选中项清空功能

    这个标题非常绕口,只是这也是想了半天的成果,对不起体育老师了. 标题想表达的是:之前讲过的用combobox实现自己主动提示组件.只是如今规定该组件不能够保存data中不存在的数据. 最初的想法是通过 ...

  6. 用echartsjs 实现散点图与table表格双向交互,以及实现echarts取自于table数据,和自定义echarts提示内容

    本人研究echarts已经有一段时间了,今天就分享几个关于echarts的小技巧.虽然看起来简单,但做起来却很繁琐,不过实用性倒是很好. 在一个大的页面中,左边为table表格,右边为echarts的 ...

  7. vue-cli ——解决多次复用含有Echarts图表组件的问题

    在vue项目里,组件复用是一件很开心的事,可以节省很多时间去排版,达到事半功倍效果,但是昨晚在vue-cli项目里组件复用时发现基于Echarts图表的组件不能够复用,昨晚捯饬了很久,终于还是解决了这 ...

  8. 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转

    站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...

  9. vue echarts vue-echarts组件使用

    1.git地址 https://github.com/ecomfe/vue-echarts 2.使用 (1)安装 npm install vue-echarts --save-dev (2)引入 im ...

  10. 利用easyUI的combobox打造自己主动提示组件

    自己主动提示是时下一个非常流行的功能,比方说百度.谷歌的搜索输入框都使用到了这么一个功能. 因为easyUI的combobox设计师已经考虑到了这个功能.所以仅仅需简单几步我们能够轻松打造自己的自己主 ...

随机推荐

  1. ASP.NET Core – Web API JSON Patch

    前言 依据 Restful 的方式, 修改 resource 要用 PUT, 然后把完整的 resource 发出去, resource 的所有信息都将被更新. 但很多时候我们希望只做局部更新, 而且 ...

  2. Windows 调试工具课程

    本文是我在集团内部上的课程记录而成的博客内容.在本次课程里面将和大家介绍一些在 Windows 上常用的调试工具,以及调查问题的常见套路.适合于伙伴们入门 Windows 调试 本文以下内容是采用原本 ...

  3. 加入 Flutter Engage,Pick 您的专属 Dash 形象!

    Flutter Engage 活动精彩来袭 对 Flutter 团队的开发者们来说,交流的重要性不言而喻,和您一样,我们也希望开发者们能够在不同的情境下进行互动分享.于是我们为您准备了一场特别的线上活 ...

  4. Codeforces 做题记录 2023-10-22

    远古做题记录.大概是 22 年写的. CF1858E1 Rollbacks (Easy Version) Description 给定一个初始为空的数列 \(a\),你需要处理以下操作: + x 将数 ...

  5. 实战!oracle 11g一键安装脚本分享

    分享一个常用的数据库一键安装脚本,大家可以从我的网盘进行下载 链接: https://pan.baidu.com/s/1iV-0zeXrwhJxJcm9qA_P_g 提取码: apbc 脚本内容: # ...

  6. AI之道|诺奖对AI的偏爱是真魔幻【悟空非空也】

    一.背景 回归 2024 年诺贝尔物理学奖被授予 John J.Hopfield(霍普菲尔德) 和 Geoffrey E.Hinton(辛顿),当时物理学界都震惊了,纷纷在打听霍普菲尔德和辛顿,他们两 ...

  7. onethink自带编辑器内容无法修改

    楼主小白一个,之前有大神带着进入onethink框架 在一个编辑页里面放两个编辑框的时候,悲催了--- 一个用作文本编辑,一个用于多图上传 发现前面的文本编辑的内容无法实现,后来楼主想调试一下 之前提 ...

  8. 异常处理、逻辑与(&)在条件结束判定的应用

    例子:求1+2+-+n的和,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C)(注 题目来自力扣) (1)boolean和逻辑与(&am ...

  9. 链表反转(反转全部,前n个,中间)

    链表反转 反转全部 // 迭代 struct ListNode *reverseList(struct ListNode *head) { struct ListNode *pre = NULL; s ...

  10. 【小记】Docker容器间SSH公钥自动交换实现免密登录的一次尝试

    咋想到这茬了 最近开始忙毕设的事儿了,想部署个伪分布式的Spark + Hadoop集群来进行测试.思来考去,最终咱把目光放在了Docker上. 盘了两天,发现这玩意意外的有趣,镜像构建好后开箱即用, ...