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

如何配置C3.js时间序列X轴,每6小时显示标签且从00:00开始?

解决C3.js时间序列X轴每6小时显示标签(起始00:00)的问题

针对你遇到的X轴时间标签显示问题,我调整了代码中的X轴配置,主要通过控制tick的间隔和格式来实现需求,具体修改点和完整代码如下:

关键修改说明

  • 移除了axis.x.extent配置:这个参数会强制限制X轴的显示范围,可能导致时间标签无法按预期展示
  • 优化tick配置:
    • 使用interval: d3.time.hour.every(6)明确指定每6小时一个刻度
    • 调整format为"%H:00\n%a":%H是24小时制格式,确保能显示00:00这类时间,%a显示星期缩写
    • 添加fit: true:让C3自动适配刻度位置,保证起始刻度从00:00开始

修改后的完整代码

var chart = c3.generate({
    bindto: '#chart',
    size: { height: 320, width: 1100 },
    data: {
        x: 'date',
        x_format: '%Y-%m-%d %H:%M:%S',
        json: result,
        keys: { x: 'created_at', value: ['AQI'] },
        type: 'bar'
    },
    bar: { width: { ratio: 1 } },
    axis: {
        x: {
            type: 'timeseries',
            tick: {
                format: "%H:00\n%a",
                interval: d3.time.hour.every(6),
                fit: true
            },
            label: 'Time'
        }
    }
});

如果你的数据时间范围跨多天,这个配置会自动在每天的00:00、06:00、12:00、18:00生成标签,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:32:22