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

Highcharts技术求助:配置x轴展示24小时时间范围并实现按分钟统计文章发布量的Tooltip

Highcharts 数据仪表盘完整实现方案

嘿,很高兴能帮你搞定这个Highcharts仪表盘需求!我刚梳理了你的需求和现有代码,接下来一步步帮你完善配置,完全满足你提到的三个要求:

核心配置说明与完整代码

Highcharts.chart('container', {
  title: {
    text: '已发布文章分钟统计'
  },
  xAxis: {
    type: 'datetime',
    // 锁定X轴为24小时范围:从当天12:00am到次日12:00am
    min: Date.UTC(2021, 0, 1, 0, 0),
    max: Date.UTC(2021, 0, 2, 0, 0),
    // 每小时显示一个刻度,保证时间轴可读性
    tickInterval: 3600 * 1000,
    labels: {
      // 把时间格式化为12小时制的am/pm样式
      formatter: function() {
        return Highcharts.dateFormat('%I:%M%p', this.value).toLowerCase();
      }
    }
  },
  yAxis: {
    title: {
      text: '文章数量'
    }
  },
  tooltip: {
    // 自定义Tooltip内容,完全匹配你要的示例格式
    formatter: function() {
      // 格式化时间为12小时制am/pm格式
      const time = Highcharts.dateFormat('%I:%M%p', this.x).toLowerCase();
      // 返回指定格式的提示文本
      return `${time} - ${this.y}篇文章`;
    },
    // 确保提示框精确绑定单个数据点
    shared: false
  },
  series: [{
    name: '发布文章数',
    // 每分钟的文章数量数据(示例数据,实际可扩展为1440条覆盖全天)
    data: [55,23,45,60,78,56, /* ... 更多分钟数据 ... */],
    // 起始时间:2021年1月1日12:00am(即当天0点)
    pointStart: Date.UTC(2021, 0, 1, 0, 0),
    // 每个数据点间隔1分钟(60*1000毫秒),让数据与时间精准对应
    pointInterval: 60 * 1000
  }]
});

关键配置细节解释

  • X轴时间范围控制:通过min和max明确锁定24小时区间,避免图表自动缩放超出需求;tickInterval设置为1小时,让时间刻度显示更规整。
  • Series数据映射逻辑:pointInterval: 60*1000是核心,告诉Highcharts每个数组元素对应1分钟的数据,配合pointStart的起始时间,就能自动把数据按顺序映射到每分钟的时间点上。
  • Tooltip自定义格式:利用formatter函数,通过this.x获取当前数据点的时间戳,this.y获取对应的文章数量,再用Highcharts.dateFormat把时间转换成你需要的12小时制am/pm样式。

如果你的实际数据是按分钟顺序收集的,只需要把data数组替换成完整的1440条数据(24*60),就能完美覆盖全天的统计啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:22:32