echarts实现radar图点击拐点显示当前数据--不用改源码

本文介绍了如何利用鼠标移动事件在ECharts中实现雷达图表的动态提示,通过获取点击位置的下标调整提示内容,并设置了透明边框扩大点击范围。Option代码展示了详细的配置和事件处理逻辑。

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

一、实现原理

1.在事件方法里获取点击的数据的下标
2.setOption会增量更新图标
3.设置拐点的范围宽度,这里是设置了透明的边框,来增加点击范围

二、Option代码

option = {
  title: {
    text: 'Basic Radar Chart'
  },
  legend: {
    data: ['Allocated Budget']
  },
  tooltip: {
    show: false,
    triggerOn: 'mousemove',
    formatter: function () {
      return '';
    }
  },
  radar: {
    // shape: 'circle',
    indicator: [
      { name: 'Sales', max: 6500 },
      { name: 'Administration', max: 16000 },
      { name: 'Information Technology', max: 30000 },
      { name: 'Customer Support', max: 38000 },
      { name: 'Development', max: 52000 },
      { name: 'Marketing', max: 25000 }
    ]
  },
  series: [
    {
      symbol: 'circle',
      name: 'Budget vs spending',
      type: 'radar',
      itemStyle: {
        borderWidth: 10,
        borderColor: 'transparent'
      },
      data: [
        {
          value: [5600, 16000, 30000, 38000, 52000, 25000],
          name: 'Allocated Budget'
        }
      ]
    }
  ]
};

myChart.on('mousemove', (params) => {
  let num = params.event.topTarget.__dimIdx;
  if (num === undefined) {
    option.tooltip.show = false;
    option.tooltip.formatter = function () {
      return '';
    };
  } else {
    option.tooltip.show = true;
    option.tooltip.formatter = function (params) {
      console.log(params)
      return (
        option.radar.indicator[num].name +
        ':' +
        params.data.value[num]
      );
    };
  }
  myChart.setOption(option);
});

三、效果图

在这里插入图片描述

有帮助的话点个关注,点个赞!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值