Hallelujah3 2024-08-26 15:34 采纳率: 57.7%
浏览 5

关于echartsTooptip的问题

想要达到这个效果:鼠标移入的时候展示tooptip,难点: 如何做到我在移入其他扇形的时候,弹框线的位置永远在扇片的中间;
补充: 目前tooltip的样式是我自定义的图片;

img

  • 写回答

1条回答 默认 最新

  • 吃不了席 2024-08-26 17:18
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要实现这个效果,你需要在 ECharts 的配置项中设置 tooltiptrigger 为 'item',并自定义一个回调函数来处理鼠标移入事件。在这个回调函数中,你可以获取到当前触发事件的扇形的数据,然后计算出扇形的中心位置,并将 tooltip 的位置设置为这个中心位置。

    以下是一个示例代码:

    option = {
        series: [
            {
                type: 'pie',
                data: [
                    {value: 46, name: '在线数'},
                    {value: 2, name: '离线数'}
                ],
                radius: ['50%', '70%'],
                avoidLabelOverlap: false,
                label: {
                    show: true,
                    position: 'center',
                    formatter: '{d}%',
                },
                labelLine: {
                    show: true,
                },
            }
        ],
        tooltip: {
            trigger: 'item',
            formatter: function(params) {
                var data = params.data;
                var total = data.total;
                var online = data.online;
                var offline = data.offline;
                return '总数占比:' + (total * 100).toFixed(2) + '% <br> 在线数:' + online + ' <br> 离线数:' + offline;
            },
            onMouseEnter: function(params) {
                var center = calculateCenter(params); // 计算扇形中心位置的函数
                params.api.update({
                    tooltip: {
                        position: center,
                    }
                });
            },
            onMouseLeave: function(params) {
                params.api.update({
                    tooltip: {
                        position: null,
                    }
                });
            }
        }
    };
    
    function calculateCenter(params) {
        // 计算扇形中心位置的逻辑,这里需要你自己实现
    }
    

    注意:calculateCenter 函数需要你自己实现,根据触发事件的扇形数据计算出扇形的中心位置。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月26日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?