Highcharts x轴标签的12小时时间格式

Highcharts x轴标签的12小时时间格式,highcharts,Highcharts,我有一个Highcharts柱状图,它有24个不同的y值,对应于代表一天中某个小时的0-23的x值 Highcharts是否具有0-23小时的内置格式,以便我可以让X轴显示如下时间标签: 上午12点,凌晨1点。。。。。。中午12点、下午1点……晚上11点 我试过了,但Highcharts忽略了x值: series: [{ name: 'Time of Day', data: [['12am', 6],['1am', 1],['3am', 1],['5am', 1],['7am', 2

我有一个Highcharts柱状图,它有24个不同的y值,对应于代表一天中某个小时的0-23的x值

Highcharts是否具有0-23小时的内置格式,以便我可以让X轴显示如下时间标签:

上午12点,凌晨1点。。。。。。中午12点、下午1点……晚上11点

我试过了,但Highcharts忽略了x值:

series: [{
   name: 'Time of Day',
   data: [['12am', 6],['1am', 1],['3am', 1],['5am', 1],['7am', 2],['8am', 19],['9am', 54],['10am', 80],['11am', 73],['Noon', 92],['1pm', 105],['2pm', 87],['3pm', 100],['4pm', 74],['5pm', 59],['6pm', 38],['7pm', 24],['8pm', 7],['9pm', 10],['10pm', 4],['11pm', 8],]
}]
编辑:


正如您在本示例数据中所看到的,数据可能不包括每小时的值

您可以分别定义x轴标题和系列

        xAxis: {
            categories: ['12 am', '1 am', '2 am', '3 am', '4 am', '5 am', '6 am', '7 am', '8 am', '9 am', '10 am', '11 am', 'Noon', '1 pm', '2 pm', '3 pm', '4 pm', '5 pm', '6 pm', '7 pm', '8 pm', '9 pm', '10 pm', '11 pm']
        }

        series: [{               
            name: 'Time of Day',
            data: [6, 1, 3, 1, 1, 3, 2, 19, 30, 54, 80, 73, 92, 105, 87, 100, 59, 38, 24, 7, 10, 4, 8, 10]
        }] 
编辑-- 如果没有所有小时的数据,可以将xAxis定义为datetime,并在序列中提供特定小时的值

        xAxis: {
            type: 'datetime',
        },
        series: [{
            name: 'Time of Day',
            data: [
                [Date.UTC(2014, 2, 28, 10), 5  ],
                [Date.UTC(2014, 2, 28, 12), 33 ],
                [Date.UTC(2014, 2, 28, 13), 20 ],
                [Date.UTC(2014, 2, 28, 15), 26 ]
            ]
        }]

您可以使用php strftime格式指定要显示的日期/时间格式

因此,例如,如果要将小时(显示时间和显示时间)和分钟(显示时间和显示时间)更改为12小时格式,请使用
%I
而不是
%H

xAxis: {
    type: 'datetime',
    dateTimeLabelFormats: {
        day: '%e of %b',
        minute:  '%I:%M',
        hour: '%I:%M'
    }
}

jsfiddle-

这种手动方法(无论如何,对于我的应用程序)的问题是,可能没有每小时的值。mysql查询只在count>0时返回一个key->value对,即hour\u of\u day->count。这就是为什么这个问题是针对一个内置的时间函数。编辑我的答案以满足您的场景。你也可以在这里格式化你的xAxis,这是正确的答案。请注意引用的php文档并使用它们。感谢skin。这是dateTimeLabelFormats的文档,如果有人需要执行秒和毫秒的操作。你也可以查看这个答案-