Echarts学习 --- tooltip提示框

本文主要介绍了ECharts提示框组件的设置方法。提示框组件可设置在全局、坐标系、系列及系列的数据项中。还详细说明了提示框组件的各项配置,如触发类型、显示条件、位置、格式器等,同时介绍了位置设置的回调函数及示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示框组件可以设置在多种地方:
可以设置在全局,即 tooltip
可以设置在坐标系中,即 grid.tooltip、polar.tooltip、single.tooltip
可以设置在系列中,即 series.tooltip
可以设置在系列的每个数据项中,即 series.data.tooltip

mytextStyle = {
    color: '#fff' //文字的颜色。
    fontStyle: 'normal' //文字字体的风格; 可选:'normal','italic','oblique'
    fontWeight: normal  //文字字体的粗细; 可选:'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
    fontFamily: 'sans-serif'  //文字的字体系列
    fontSize: 14   //文字的字体大小
    lineHeight number  //行高。rich 中如果没有设置 lineHeight,则会取父层级的 lineHeight。
    width: number, string  //文字块的宽度。注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。
    height: number, string  //文字块的高度。
    textBorderColor: 'transparent' //文字本身的描边颜色。
    textBorderWidth: 0 //文字本身的描边宽度。
    textShadowColor: 'transparent' //文字本身的阴影颜色。
    textShadowBlur: 0 //文字本身的阴影长度。
    textShadowOffsetX: 0 //文字本身的阴影 X 偏移。
    textShadowOffsetY: 0 //文字本身的阴影 Y 偏移。
}

tooltip ={                                      //提示框组件
    show:true,            //是否显示提示框组件,包括提示框浮层和 axisPointer。
    trigger: 'item',                            //触发类型,'item'数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。 'axis'坐标轴触发,主要在柱状图,折线图等 会使用类目轴的图表中使用。'none' 什么都不触发。
    triggerOn:"mousemove",                      //提示框触发的条件,'mousemove'鼠标移动时触发。'click'鼠标点击时触发。'mousemove|click'同时鼠标移动和点击时触发。'none'不在 'mousemove' 或 'click' 时触发
    showContent:true,                           //是否显示提示框浮层
    alwaysShowContent:true,                     //是否永远显示提示框内容,默认情况下在移出可触发提示框区域后 一定时间 后隐藏,设置为 true 可以保证一直显示提示框内容
    showDelay:0,                                  //浮层显示的延迟,单位为 ms,在 triggerOn 为 'mousemove' 时有效
    hideDelay:100,                                //浮层隐藏的延迟,单位为 ms
    enterable:false,                             //鼠标是否可进入提示框浮层中,默认为false
    renderMode: 'html'            //浮层的渲染模式,默认以 'html 即额外的 DOM 节点展示 tooltip;此外还可以设置为 'richText' 表示以富文本的形式渲染,渲染的结果在图表对应的 Canvas 中(目前 SVG 尚未支持富文本),这对于一些没有 DOM 的环境(如微信小程序)有更好的支持。
    confine:false,                               //是否将 tooltip 框限制在图表的区域内,当图表外层的 dom 被设置为 'overflow: hidden',或者移动端窄屏,导致 tooltip 超出外界被截断时,此配置比较有用
    transitionDuration:0.4,                      //提示框浮层的移动动画过渡时间,单位是 s,设置为 0 的时候会紧跟着鼠标移动
    position:['50%', '50%'],                    //提示框浮层的位置,默认不设置时位置会跟随鼠标的位置,Array[10%, 10%];回掉函数(function);inside鼠标所在图形的内部中心位置,top、left、bottom、right鼠标所在图形上侧,左侧,下侧,右侧,只在 trigger 为'item'的时候有效
    formatter:"{b0}: {c0}<br />{b1}: {c1}",     //提示框浮层内容格式器,支持字符串模板和回调函数两种形式,模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等
    backgroundColor:"transparent",            //提示框浮层的背景色
    borderColor:"#ccc",                        //提示框浮层的边框颜色
    borderWidth:0,                              //提示框浮层的边框线宽
    padding:5,                                  //提示框浮层内边距,单位px  5  [5, 10]  [5,10,5,10]
    textStyle:mytextStyle,                     //提示框浮层文本样式
    extraCssText: string             //额外附加到浮层的 css 样式。为浮层添加阴影的示例:extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);'
};

Function 回调函数,格式如下
  (point: Array, params: Object|Array.<Object>, dom: HTMLDomElement, rect: Object, size: Object) => Array
参数:
point: 鼠标位置,如 [20, 40]。
params: 同 formatter 的参数相同。
dom: tooltip 的 dom 对象。
rect: 只有鼠标在图形上时有效,是一个用x, y, width, height四个属性表达的图形包围盒。
size: 包括 dom 的尺寸和 echarts 容器的当前尺寸,例如:{contentSize: [width, height], viewSize: [width, height]}。
返回值:
可以是一个表示 tooltip 位置的数组,数组值可以是绝对的像素值,也可以是相 百分比。
也可以是一个对象,如:{left: 10, top: 30},或者 {right: '20%', bottom: 40}。
如下示例:
  position: function (point, params, dom, rect, size) {
      // 固定在顶部
      return [point[0], '10%'];
  }
或者:
  position: function (pos, params, dom, rect, size) {
      // 鼠标在左侧时 tooltip 显示到右侧,鼠标在右侧时 tooltip 显示到左侧。
      var obj = {top: 60};
      obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5;
      return obj;
  }

### 如何在 Vue 中集成和使用 ECharts #### 安装依赖包 为了能够在 Vue 项目中使用 ECharts,需要安装 `vue-echarts` 和 `echarts` 这两个 npm 包。可以通过命令行工具执行如下指令来完成安装: ```bash npm install echarts vue-echarts --save ``` 此操作会下载并保存所需的库到项目的 node_modules 文件夹下[^1]。 #### 创建组件 创建一个新的 Vue 组件用于展示图表,在 `<template>` 部分引入 `v-chart` 标签作为容器,并设置宽高样式属性;而在 `<script>` 节部分则导入必要的模块并且初始化 chart 实例对象。 ```html <template> <div class="chart-container"> <!-- 使用 v-chart 来承载图表 --> <v-chart :options="pie"/> </div> </template> <script> import { use } from 'echarts/core'; // 导入所需图表类型的 Chart 类及其对应的 Component 类 use([ /* ... */ ]); export default { data() { return { pie: {} }; }, }; </script> <style scoped> .chart-container{ width: 400px; height: 400px; } </style> ``` 上述代码片段展示了如何通过组合不同类型的图表类与组件类来自定义所使用的功能集。 #### 初始化配置选项 当页面加载完成后,应当立即设定好初始状态下的数据源以及其他必要参数。这一步骤通常是在 mounted 生命周期钩子函数内完成的。下面给出了一种简单的饼图案例供参考: ```javascript mounted(){ this.pie = { title: { text: '某站点用户访问来源', subtext: '纯属虚构' }, tooltip: { trigger: 'item' }, legend: { orient: 'vertical', left: 'left' }, series: [ { name: '访问来源', type: 'pie', radius: '50%', data:[ {value:1048, name:'搜索引擎'}, {value:735, name:'直接访问'}, {value:580, name:'邮件营销'} ] } ] }; }, ``` 这段 JavaScript 代码实现了对 ECharts 图表实例的基础配置,包括标题、提示框、图例以及系列列表等内容[^2]。 #### 参考官方文档获取更多信息 对于更复杂的需求或是想要了解其他种类图表的具体用法时,则建议查阅 [ECharts 官方文档](https://echarts.apache.org/zh/) 或者浏览其提供的在线例子集合[^3]。这些资源能够帮助开发者快速掌握各种特性的应用方法,并找到适合自己应用场景的最佳实践方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值