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

如何为Highcharts坐标轴设置可自适应的智能截断最大值?

Highcharts Y轴智能截断配置:自动适配数据最大值且不超过设定上限

你需要的是**yAxis.softMax**配置项,它完全匹配你的需求:

  • 当数据中的最大值小于设定的softMax值时,Y轴会自动适配数据的实际最大值,避免出现大量空白;
  • 当数据中存在超过softMax的异常值时,Y轴最大值会被限制在设定值,异常点会被截断在图表外部,不会显示。

修改后的示例代码

Highcharts.chart('container', {
  "chart": {
    "type": "scatter"
  },
  "series": [{
    "type": "scatter",
    "name": "Measures",
    "data": [{"name": "OK","x": 113180, "y": 11}, {"name": "OK","x": 108411,"y": 5}, {"name": "OK","x": 113607,"y": 4}, {"name": "OK","x": 124644,"y": 4}, {"name": "Edge","x": 117135,"y": 45, "color":"black"}, {"name": "Outbound","x": 109998,"y": 100, "color":"red"}]
  }],
  "xAxis": {
    "categories": "",
    "title": {
      "text": "Cap"
    },
    "reversed": false
  },
  "yAxis": {
    "min": 0,
    "softMax": 50 // 设置你的截断上限
  }
});

效果说明

  • 保留Outbound异常值时:Y轴最大值被限制为50,该异常点会被截断在图表顶部,不会显示;
  • 移除Outbound异常值后:数据的实际最大值为11,Y轴会自动调整到合适的最大值(Highcharts会根据刻度规则微调,比如到12,保证刻度显示美观),不会出现冗余空白。

如果需要更严格的最大值控制(比如完全取数据最大值和softMax的较小值,不进行刻度微调),可以通过chart.events.load事件手动计算,但softMax已经能满足你大部分场景的需求,且无需额外的动态数据处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:20:21