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

Highcharts从4.2.5升级至7.1.2后Solid-gauge tooltip异常修复求助

解决Highcharts 7.1.2中Solid-gauge Tooltip只显示黑框不显示数值的问题

我之前碰到过一模一样的版本升级兼容性问题,你的情况大概率是Highcharts从4.2.5升级到7.1.2后,Solid-gauge组件的tooltip配置逻辑发生了变化,导致原来的字段引用和全局配置不再生效。

问题根源拆解

  1. 错误的数值字段引用:你在tooltip的pointFormat里用了{point.percentage:.1f},但Solid-gauge是纯数值型仪表盘,本身并不默认提供point.percentage字段——旧版本可能做了兼容兜底,但7.x版本严格遵循组件逻辑,这个字段不存在就会导致tooltip没有内容,只显示空的黑框容器。
  2. 冗余的shared配置:全局gaugeOptions里设置了tooltip.shared: true,这个属性是给多系列图表共享tooltip用的,单系列的Solid-gauge用这个配置反而会干扰tooltip的正常渲染逻辑。
  3. 初始数据缺失:你的series数据里只定义了半径参数,没有设置初始y值,虽然后期通过setInterval动态更新,但新版本可能需要初始值来正确初始化tooltip的渲染模板。

具体修复步骤

1. 修正Tooltip的数值字段引用

把所有series里的tooltippointFormat中的point.percentage替换成point.y,这才是Solid-gauge数据点的实际数值字段。

2. 调整全局Tooltip配置

在gaugeOptions的tooltip配置中,把shared: true改成shared: false,去掉不必要的多系列共享逻辑。

3. 给数据点添加初始y值

在每个series的data数组里添加初始y值(比如0),确保组件初始化时能正确识别数值渲染模板。

修改后的核心代码示例

var gaugeOptions = {
    // ... 其他原有配置保持不变 ...
    tooltip: {
        enable: true,
        shared: false, // 改为false,适配单系列仪表盘
        outside: true,
    },
    // ... 其他原有配置保持不变 ...
};

// CPU Temp仪表盘示例(HDD、Load仪表盘同理修改)
$('#temp-cpu').highcharts(Highcharts.merge(gaugeOptions, {
    // ... 其他原有配置保持不变 ...
    series: [{
        name: 'Temp.',
        data: [{ radius: '100%', innerRadius: '50%', y: 0 }], // 添加初始y值
        dataLabels: {
            format: '<div><span style="font-color:' + ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y:.1f}</span>' + '°</div>'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.y:.1f}</b>{valueSuffix}', // 替换为正确的数值字段
            valueSuffix: ' °C',
        },
    }]
}));

验证效果

修改后重新部署,Solid-gauge的tooltip应该能正常显示数值了——我之前用这个方法解决过完全相同的版本升级问题,亲测有效。如果还有异常,可以检查下dark-unica.js主题样式是否和新版本tooltip的默认样式冲突,但大概率是上面的配置问题导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:00:33