You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Chart.js雷达图hover时显示全量数据列表?

解决Chart.js雷达图hover全区域显示所有数据的问题

要实现鼠标悬停雷达图任意区域都显示全部数据列表,只需调整tooltip和hover的核心配置即可,之前的问题出在未关闭intersect触发限制,也未配置hover的全局触发规则。

修改后的完整配置代码如下:

const data = {
    labels: Object.keys(currentDict),
    datasets: [{
        label: 'Probabilities',
        data: Object.values(currentDict),
        fill: true,
        backgroundColor: 'rgba(255, 0, 54, 0.7)',
        borderColor: 'rgb(255, 0, 54)',
        pointBackgroundColor: 'rgb(255, 0, 54)',
        pointBorderColor: '#fff',
        pointHoverBackgroundColor: '#fff',
        pointHoverBorderColor: 'rgb(255, 0, 54)',
    }]
};

const config = {
    type: 'radar',
    data: data,
    options: {
        animation: {
            duration: 200
        },
        elements: {
            line: {
                borderWidth: 1,
            },
        },
        scales: {
            r: {
                ticks: {
                    display: false,
                    maxTicksLimit: 5,
                },
                grid: {
                    color: gridColor
                },
                angleLines: {
                    color: gridColor
                },
                pointLabels: {
                    color: gridColor
                }
            },
        },
        // 核心修改:hover全局触发规则
        hover: {
            mode: 'index',
            intersect: false // 关闭仅元素相交触发,允许hover整个图表区域
        },
        plugins: {
            legend: {
                display: false
            },
            tooltip: {
                mode: 'index', // 显示当前索引对应的所有数据(单数据集下即全部数据)
                intersect: false, // 不限制仅精准点到节点时显示tooltip
                // 可选:自定义tooltip标签格式,确保数据展示清晰
                callbacks: {
                    label: function(context) {
                        return `${context.label}: ${context.raw}`;
                    }
                }
            },
        },
    },
};

关键配置说明:

  • hover.intersect: false:让hover事件不再局限于数据点这类图表元素,鼠标进入雷达图的任意区域都会触发hover状态。
  • tooltip.intersect: false:配合hover配置,确保tooltip在hover整个区域时直接显示,无需精准定位到数据节点。
  • tooltip.mode: 'index':指定tooltip显示当前鼠标位置对应的全量数据(单数据集场景下就是所有标签和数值的列表)。

修改完成后,鼠标悬停雷达图的任意区域,都会弹出包含所有数据项的tooltip列表。

内容的提问来源于stack exchange,提问作者CMB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 21:33:22