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

Highstock与XRange图表工具提示异常问题求助

Highstock XRange 条形图 Tooltip 匹配错误修复

问题描述

使用Highstock和XRange绘制数据时,当两个条形图拥有相同起始时间戳,鼠标悬停上方条形(蓝色),工具提示却显示下方条形(绿色)的内容。需要实现:悬停对应条形时显示其对应的工具提示。

修复方案

这个问题源于Highcharts默认的点拾取逻辑——在处理同X轴起始点的XRange条形时,会优先匹配Y值更小的点(即下方的条形)。最直接的修复方式是给XRange系列添加trackByArea: true配置,让Highcharts根据鼠标所在的整个条形区域(而非仅X轴坐标)来匹配对应的数据点。

修改后的完整代码

Highcharts.stockChart('container', {
    chart: {
        type: 'xrange'
    },
    title: {
        text: 'Highcharts X-range'
    },
    xAxis: {
        type: 'datetime'
    },
    yAxis: {
        title: {
            text: ''
        },
        categories: ['Prototyping', 'Development', 'Testing'],
        reversed: true
    },
    tooltip: {
        crosshairs: false,
        useHTML: true,
        formatter: function () {
            return this.yCategory;
        }
    },
    series: [{
        name: 'Project 1',
        borderColor: 'gray',
        pointWidth: 20,
        // 新增配置:开启区域追踪,修复tooltip匹配问题
        trackByArea: true,
        data: [{
            x: '2014-11-21',
            x2: '2014-12-02',
            y: 0,
            partialFill: 0.25
        },
        {
            x: '2014-12-02',
            x2: '2014-12-05',
            y: 1
        },
        {
            x: '2014-12-07',
            x2: '2014-12-08',
            y: 2
        }, 
        {
            x: '2014-12-07',
            x2: '2014-12-08',
            y: 1
        },
        {
            x: '2014-12-09',
            x2: '2014-12-19',
            y: 1
        },
        {
            x: '2014-12-10',
            x2: '2014-12-23',
            y: 2
        }],
        dataLabels: {
            enabled: true
        }
    }]
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:40:59