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

如何在Highcharts中实现多折线图并配置24小时格式X轴

解决Highcharts多折线图的24小时时间轴配置问题

没问题,我来帮你把X轴改成24小时时间格式,并且限定在当日00:00到次日00:00的范围内。下面是具体的实现步骤和完整代码:

核心配置要点

要实现需求,主要需要调整X轴的三个关键设置:

  • 将X轴类型设为datetime,让Highcharts识别时间戳数据
  • 配置X轴标签的显示格式为24小时制
  • 限定X轴的时间范围为当日00:00到次日00:00

完整示例代码

// 计算当日00:00和次日00:00的UTC时间戳
const today = new Date();
const startOfDay = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate());
const endOfDay = startOfDay + 24 * 60 * 60 * 1000; // 当日0点加24小时就是次日0点

Highcharts.chart('container', {
    chart: {
        type: 'line'
    },
    title: {
        text: '当日24小时多折线数据'
    },
    xAxis: {
        type: 'datetime', // 关键:设置X轴为时间类型
        labels: {
            format: '{value:%H:%M}', // 24小时制时间格式,显示小时:分钟
            align: 'center'
        },
        min: startOfDay, // X轴起始时间:当日00:00 UTC
        max: endOfDay, // X轴结束时间:次日00:00 UTC(对应当日23:59的结束点)
        tickInterval: 3600 * 1000, // 每小时显示一个刻度,可根据需求调整
        title: {
            text: '时间'
        }
    },
    yAxis: {
        title: {
            text: '数值'
        }
    },
    tooltip: {
        formatter: function() {
            // 自定义tooltip显示,包含24小时制时间和对应数值
            const time = Highcharts.dateFormat('%H:%M', this.x);
            return `<b>${this.series.name}</b><br/>${time}: ${this.y}`;
        }
    },
    series: [
        {
            name: '系列1',
            data: [[1369206795000, 1], [1369225421000, 3], [1369230934000, 2]]
        },
        {
            name: '系列2',
            data: [[1369206795000, 5], [1369225421000, 7], [1369230934000, 9]]
        },
        {
            name: '系列3',
            data: [[1369206795000, 4], [1369225421000, 6], [1369230934000, 9]]
        }
    ]
});

关键配置解释

  1. 时间范围计算:

    • 用Date.UTC()获取当日00:00的UTC时间戳,确保和你的数据时间戳格式一致
    • 结束时间设为当日0点加24小时,这样X轴会覆盖到当日23:59的最后一刻
  2. X轴格式设置:

    • type: 'datetime'告诉Highcharts解析数据中的时间戳
    • labels.format: '{value:%H:%M}'使用%H表示24小时制的小时(00-23),%M表示分钟(00-59)
  3. 刻度间隔:

    • tickInterval: 3600 * 1000设置每小时显示一个刻度,你可以根据需求调整为30分钟(1800 * 1000)或其他间隔
  4. Tooltip优化:

    • 自定义tooltip的显示内容,让时间以24小时制呈现,提升可读性

这样配置后,你的多折线图就会显示符合要求的24小时时间轴啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:40:50