echarts中饼图的tooltip根据鼠标位置改变弹出位置

这篇具有很好参考价值的文章主要介绍了echarts中饼图的tooltip根据鼠标位置改变弹出位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

echarts中的tooltip.position属性配置参考  echarts配置手册

问题:使用echarts绘制饼图,tooltip的弹出位置会遮挡住图表。

echarts中饼图的tooltip根据鼠标位置改变弹出位置

需求:tooltip的弹出位置在饼图外圈,不遮挡图表内容,切根据鼠标的位置而改变。

解决方法:在tooltip的配置项中对position进行配置,使用回调函数实现tooltip弹出位置的改变。

回调函数,格式如下:

 (point: Array, params: Object|Array.<Object>, dom: HTMLDomElement, rect: Object, size: Object) => Array

 参数:
point: 鼠标位置,如 [20, 40]。
params: 同 formatter 的参数相同。
dom: tooltip 的 dom 对象。
rect: 只有鼠标在图形上时有效,是一个用xywidthheight四个属性表达的图形包围盒。
size: 包括 dom 的尺寸和 echarts 容器的当前尺寸,例如:{contentSize: [width, height], viewSize: [width, height]}

返回值:
可以是一个表示 tooltip 位置的数组,数组值可以是绝对的像素值,也可以是相 百分比。
也可以是一个对象,如:{left: 10, top: 30},或者 {right: '20%', bottom: 40}

 具体代码:

tooltip: {
    trigger: 'item',
    // tooltip位置根据鼠标位置而改变
    position(point, params, dom, rect, size) {
    const obj = {};

    // 鼠标的水平位置(point[0])小于图表容器宽度的一半(size.viewSize[0] / 2)时
    // tooltip显示在右边(right),反之显示在左边(left)。
    // -100 为位置偏移量,根据具体需求进行调整

    obj[['right', 'left'][+(point[0] < size.viewSize[0] / 2)]] = -100;

    // 鼠标的竖直位置(point[1])小于图表容器高度的一半(size.viewSize[1] / 2)时
    // tooltip显示在底边(bottom),反之显示在顶边(top)。
    // -58 为位置偏移量,根据具体需求进行调整

    obj[['bottom', 'top'][+(point[1] < size.viewSize[1] / 2)]] = -58;
    return obj;
    },
}

实现效果:

echarts中饼图的tooltip根据鼠标位置改变弹出位置

 注:可根据要求对配置项细致化,以达到更平滑的位置切换。文章来源地址https://www.toymoban.com/news/detail-483048.html

到了这里,关于echarts中饼图的tooltip根据鼠标位置改变弹出位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

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

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

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

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

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

    2024年02月14日
    浏览(36)
  • vue+echarts 实现地图tooltip点击事件;toolTip数据动态渲染;同时鼠标滑过涟漪点时实现地图多区域联动

    最终做出来的效果是这样的: 最近做项目时,遇到这样的需求:         1、toolTip上的数据根据后台动态渲染         2、鼠标移入地图涟漪点时显示tootTip,点击toolTip上的文字,携带动态数据id进行路由跳转         3、鼠标移入地图涟漪点,与涟漪点相关的省份多区域联动

    2024年02月09日
    浏览(55)
  • echarts饼图:实现多层图表同步自动轮播,鼠标悬浮时停止轮播,移出鼠标后重新开始轮播效果

    需要用echarts实现一个圆环饼图,在圆环中心显示每个系列的具体数据,加载成功后图表系列自动高亮轮播展示;当用户鼠标悬浮某一系列的图形时,停止自动轮播并高亮显示该图形,移出鼠标后重新开始轮播 echarts圆环饼图示例 (开发echarts图表时,对照配置项文档和API文档

    2024年02月13日
    浏览(57)
  • 【Echart多场景示例应用】Echarts柱状图、折线图、饼图、雷达图等完整示例。 echarts主标题和副标题的位置、样式等设置(已解决附源码)

    **【写在前面】**前端时间做一个echarts的页面调整,临时客户要求加一个参数(总容量)显示,当时我就想用个默认的副标题吧,哪知客户和我说得紧跟在主标题后面,于是乎我就根据设置做了一个调整,我也是在网上看了一下,好些答案都是复制粘贴,文章各种抄袭的,遇

    2024年02月08日
    浏览(49)
  • js特效——根据鼠标位置移动的图片

    1、offsetX offset意为偏移量,是事件对象距左上角为参考原点的距离。以元素盒子模型的内容区域的左上角为参考点。不包括border。 2、clientX 事件对象相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条 3、pageX 事件对象相对于整个文档的坐标以像素为

    2024年02月03日
    浏览(47)
  • 根据鼠标点击的位置来转换成UI坐标

    有时候游戏内一些Tips界面需要根据点击的位置来动态显示Tips界面的位置。 这个案例就很好用了。

    2024年02月16日
    浏览(29)
  • 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日
    浏览(54)
  • 【echarts】使用 ECharts 绘制3D饼图

    在数据可视化中,饼图是表达数据占比信息的常见方式。ECharts 作为一个强大的数据可视化库,除了标准的二维饼图,也支持更加生动的三维饼图绘制。本文将指导你如何使用 ECharts 来创建一个3D饼图,提升你的数据展示效果。 在 ECharts 中,3D 饼图主要是通过 surface 类型的图

    2024年04月27日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包