echarts多图联动下,提示框(tooltip)位置跟随鼠标(拐点)移动

这篇具有很好参考价值的文章主要介绍了echarts多图联动下,提示框(tooltip)位置跟随鼠标(拐点)移动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tooltip提示框位置有单独的字段(position),相信大家都知道

方式一:
tooltip: {
   // 主要在柱状图,折线图等会使用类目轴的图表中使用。
   trigger: 'axis',
   // 第一种: 数字设置绝对位置 
   position: [20,20],
   // 第一种: 百分比设置相对位置 position: ['50%', '50%']
   position: [20,20],
},
方式二:
tooltip: {
   // 主要在散点图,饼图等无类目轴的图表中使用。
   trigger: 'item',
   position: 'top',  // 可选值 'inside'|'top'|'bottom'|'left'|'right'
},
方式三:
tooltip: {
   trigger: 'axis',
   // 回调函数
   position: function (point, params, dom, rect, size) {
       // 返回值可以是一个数组
       return ['40%', 30];
       // 返回值也可以是一个对象
       return {left: '40%', bottom: 20};
   }
},

大概说一下这几种方式:

第一种:不设置position字段,默认不设置时位置会跟随鼠标的位置。(但我们的需求是:提示框始终在拐点的斜上方)。

第二种: 通过数组方式,里边可以填写数字也可以填写百分比 。例:position: [20, 20]。

第三种:position后跟字符串,注:只在 trigger 为'item'的时候有效。

第四种:回调函数。

回调函数,会导致提示框显示不全。提示框位置随鼠标移动,并解决提示框显示不全的问题。

position: function (point, params, dom, rect, size) {
  // 鼠标坐标和提示框位置的参考坐标系是:以外层div的左上角那一点为原点,x轴向右,y轴向下
  // 提示框位置
  var x = 0; // x坐标位置
  var y = 0; // y坐标位置

  // 当前鼠标位置
  var pointX = point[0];
  var pointY = point[1];

  // 外层div大小
  // var viewWidth = size.viewSize[0];
  // var viewHeight = size.viewSize[1];

  // 提示框大小
  var boxWidth = size.contentSize[0];
  var boxHeight = size.contentSize[1];

  // boxWidth > pointX 说明鼠标左边放不下提示框
  if (boxWidth > pointX) {
    x = 5;
  } else { // 左边放的下
    x = pointX - boxWidth;
  }

  // boxHeight > pointY 说明鼠标上边放不下提示框
  if (boxHeight > pointY) {
    y = 5;
  } else { // 上边放得下
    y = pointY - boxHeight;
  }

  return [x, y];
}

虽然可以用,但是解决不了我的问题,我是每一个提示框都需要在斜上方。所以我只能一个一个判断了(笨办法echarts堆叠图tooltip中如何仅展示鼠标当前位置相应的指标数据,echarts,前端,javascript

因为我发现  

代码如下: 

point[0]一直是正确的,所以以他为距离提示线的位置.记得考虑提示框是否出边界的问题,主要是上边的代码思路 ↑
position: function (point, params, dom, rect, size) {
            // console.log(point, params, dom, rect, size)
            if (params[2].name == '0月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
            } else if (params[2].name == '03月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
            } else if (params[2].name == '06月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
            } else if (params[2].name == '09月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
            } else if (params[2].name == '12月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
            } else if (params[2].name == '15月') {
              return [point[0] + 10, point[1] - size.contentSize[1] + 20];
              // return [point[0]- size.contentSize[0] - 10, point[1] - size.contentSize[1] + 10];
            } else if (params[2].name == '18月') {
              return [point[0]- size.contentSize[0] - 10, point[1] - 40];
            } else if (params[2].name == '21月') {
              return [point[0]- size.contentSize[0] - 10, point[1] - 30 ];
            } else if (params[2].name == '24月') {
              return [point[0]- size.contentSize[0] - 10, point[1] - 25];
            } else if (params[2].name == '30月') {
              return [point[0]- size.contentSize[0] - 10, point[1]-10];
            } else if (params[2].name == '36月') {
              return [point[0]- size.contentSize[0] - 10, point[1]];
            }
},

 文章来源地址https://www.toymoban.com/news/detail-600424.html

到了这里,关于echarts多图联动下,提示框(tooltip)位置跟随鼠标(拐点)移动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • echarts散点图自定义tooltip,鼠标放上去展示多行数据

    先放效果图 如图,就是鼠标悬停在散点上(这里的散点我替换成了图片,具体做法参考这篇文章:echarts散点图的散点用自定义图片替代-CSDN博客)时,可以展示多行数据。之前查找资料的时候,很多用字符串模板的,即{a}{b}{c}之类的,但是经过实践之后发现这种方法对于散点

    2024年04月24日
    浏览(29)
  • 六、Echart图表 之 tooltip提示框组件配置项大全

    🍓 作者主页:💖仙女不下凡💖 🍓 前言介绍:以下👇内容是我个人对于该技术的总结,如有不足与错误敬请指正! 🍓 欢迎点赞👍 收藏⭐ 留言📝 相关账号会持续发布关于文章Echart的相关文章欢迎持续关注! 记录一个最常用的属性,通常用于 tooltip 内容过多,不能完全

    2024年02月02日
    浏览(35)
  • 详解:当鼠标放上echarts图形时,显示数据、名称,或者自定义tooltip弹窗

     主要知识点:tooltip{}该配置项为:提示框组件相关设置 写入代码的位置如下,tooltip与xAxis同级 效果一实现代码 效果二实现代码: 更加灵活的自定义弹窗,可以自己写html,其中 params[0].marker 是柱形颜色的圆形,其他参数可以打印 params查看一下 然后拼接进html里 写入代码的位

    2024年02月11日
    浏览(28)
  • 3D圆环图Echarts + 图例滚动显示 + tooltip鼠标经过的弹框滚动显示

    效果图如下: 这是一个3D效果的Echarts圆环图,每个类别的数据相当于高度,图例可以滚动显示,tips也可以滚动显示,完整代码看最后。 1.图例滚动显示效果 2.tooltip鼠标经过弹框滚动效果 完整代码如下(脚手架写法):

    2024年02月14日
    浏览(30)
  • 【Qt】QCustomPlot组件跟随鼠标显示xy轴坐标位置

    目录 一、 问题描述 二、 解决方案 三、代码实现 一、 问题描述 如题所述。 二、 解决方案 自定义一个继承QCustomPlot类的实现类,重写mouseMove虚函数实现,从而获取鼠标位置,然后计算出点的坐标值,再利用QToolTip显示点坐标。 三、代码实现 继承自QCustomPlot组件的MFMCustomPl

    2024年02月11日
    浏览(36)
  • element-ui给禁用的按钮设置鼠标经过显示tooltip的tips提示

    情境:按钮禁用的时候显示tips提示 如果我们按照一般的做法是在el-tooltip标签中包裹设置禁用disabled属性的el-button按钮,理论上这样就能达到想要的效果,“纸上得来终觉浅,绝知此事要躬行”,让我们手动试一下,效果如下: 代码如下:   答案是不能做到! 我们在禁用按

    2024年02月12日
    浏览(51)
  • [element-ui] el-table表格头添加图标-鼠标移入显示el-tooltip提示信息

    只是单纯的想在table中添加图标和tooltip 在el-table-column中绑定:render-header=“renderPrice” (此方法无法使tooltip换行) 方法二、 使用组件插槽,elementui已封装好 elementUI表格头添加图标-鼠标移入显示el-tooltip提示信息

    2024年02月11日
    浏览(33)
  • Echarts 清空画布空白以及鼠标悬浮提示信息格式化问题

    清空画布用clear()会导致图表空白  通过上述方式清空画布不会空白 鼠标悬浮信息格式化取值

    2024年02月14日
    浏览(31)
  • echarts统计图x轴文字过长,以省略号显示,鼠标经过提示全部内容

    效果图如下 主要代码如下:

    2024年02月15日
    浏览(47)
  • echarts自定义tooltip,给tooltip增加百分号%

    支持返回 HTML 字符串或者创建的 DOM 实例。 (params: Object|Array, ticket: string, callback: (ticket: string, html: string)) = string | HTMLElement | HTMLElement[] 在 trigger 为 ‘axis’ 的时候,或者 tooltip 被 axisPointer 触发的时候,params 是多个系列的数据数组。其中每项内容格式同上,并且, { componentT

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包