Echarts 提示组件
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 提示组件的更多相关文章
- ECharts 提示框组件Tooltip属性大全(包含文本注释)
tooltip: { // 提示框组件:可以设置在全局(tooltip),可以设置在坐标系中(grid.tooltip.polar.tooltip.single.tooltip),可以设置在系列中(s ...
- 转:ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?
一.什么是ECharts图表的皮肤(主题)? 针对这个问题我只能这样回答,ECharts图表的主题(皮肤)就犹如人的衣服一样,是用来衬托和渲染主体,使其变得更加美观好看的目的.你去过ECharts图表 ...
- 在Vue中echarts可视化组件的使用
echarts组件官网地址:https://echarts.apache.org/examples/zh/index.html 1.找到脚手架项目所在地址,执行cnpm install echarts ...
- [js开源组件开发]tip提示组件
tip提示组件 常见的应用场景中,总是难免会遇到提示信息,比如显示不完全时需要鼠标移上去显示title,比如验证时的错误提示,比如操作按钮的辅助说明等,所以我独立出来了一个小的js组件,tip提示组件 ...
- combobox自己主动提示组件加入无选中项清空功能
这个标题非常绕口,只是这也是想了半天的成果,对不起体育老师了. 标题想表达的是:之前讲过的用combobox实现自己主动提示组件.只是如今规定该组件不能够保存data中不存在的数据. 最初的想法是通过 ...
- 用echartsjs 实现散点图与table表格双向交互,以及实现echarts取自于table数据,和自定义echarts提示内容
本人研究echarts已经有一段时间了,今天就分享几个关于echarts的小技巧.虽然看起来简单,但做起来却很繁琐,不过实用性倒是很好. 在一个大的页面中,左边为table表格,右边为echarts的 ...
- vue-cli ——解决多次复用含有Echarts图表组件的问题
在vue项目里,组件复用是一件很开心的事,可以节省很多时间去排版,达到事半功倍效果,但是昨晚在vue-cli项目里组件复用时发现基于Echarts图表的组件不能够复用,昨晚捯饬了很久,终于还是解决了这 ...
- 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...
- vue echarts vue-echarts组件使用
1.git地址 https://github.com/ecomfe/vue-echarts 2.使用 (1)安装 npm install vue-echarts --save-dev (2)引入 im ...
- 利用easyUI的combobox打造自己主动提示组件
自己主动提示是时下一个非常流行的功能,比方说百度.谷歌的搜索输入框都使用到了这么一个功能. 因为easyUI的combobox设计师已经考虑到了这个功能.所以仅仅需简单几步我们能够轻松打造自己的自己主 ...
随机推荐
- Fluent Builder 模式
前言 以前最讨厌设计复杂方法调用, 就是那种需要一堆有逻辑规则的 config 作为参数的方法. 这种 config 通常是一个大对象, 有许多 property, property 之间有存在一些逻 ...
- .NET 开源的功能强大的人脸识别 API
前言 人工智能时代,人脸识别技术已成为安全验证.身份识别和用户交互的关键工具. 给大家推荐一款.NET 开源提供了强大的人脸识别 API,工具不仅易于集成,还具备高效处理能力. 本文将介绍一款如何利用 ...
- java_day3_Scanner,顺序结构,选择结构(if,switch),循环结构(for,while),
一.Scanner 键盘录入:程序运行过程中,用户可以根据自己的需求输入参与运算的值 实现键盘录入的步骤 1.导包 2.创建键盘录入对象 3.调用方法实现键盘录入 1)输入整数 2)输入字符串 pub ...
- C++ string类型常用操作
string类型操作 字符串切割 str.substr(索引,切割的个数) -> 返回字符串 注意:第二个参数为切割的个数 string buf = "abcdefg"; ...
- 一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
前言 最近有不少小伙伴在问:.NET有什么值得推荐的网络通信框架?今天大姚给大家分享一个.NET开源.免费(MIT License).快速.低延迟的异步套接字服务器和客户端库:NetCoreServe ...
- template<> 模板特化
template<> 是用于 模板特化(Template Specialization) 的一种语法. 模板特化允许你为某些特定的模板参数提供不同的实现.例如,template<&g ...
- Microsoft 发布 .NET 9 RC 2
距离最终版本还有一个月的时间,Microsoft 已经交付了 .NET 9 的第二个也是最后一个候选版本..NET 团队在公告帖子中写道[1],"当我们为 11 月的 .NET 9 正式发布 ...
- js正则表达式 禁止输入汉字
const validateChinese = (rule, value, callback) => { var regex = /[\u4e00-\u9fa5]/; console.log(' ...
- 虚拟dom的优缺点
虚拟dom 是js模拟的一颗dom树,也是 js 对象 : 虚拟dom 时相对于 真实dom而言的,操作真实 dom 开销太大,降低了性能,所以使用 虚拟 dom 替代真实 dom 完成操作和计算功能 ...
- MIL-STD-1553B总线通信模块(1553B板卡)
MIL-STD-1553B总线通信模块(1553B板卡)产品具有以下特点: 1.产品覆盖多种接口CPCI/PXI/PCI/PC104/PC104+/USB等,满足用户不同平台的使用要求: 2.自主知识 ...