Datetime Highcharts-尝试在半小时点开始x轴标记

Datetime Highcharts-尝试在半小时点开始x轴标记,datetime,highcharts,Datetime,Highcharts,我试图在datetime轴上显示一系列数据,从上午8:30开始以小时为增量。但是,我无法获得在“8:30”开始的第一个记号和标签,它总是在“9:00”开始。我尝试使用tickInterval,但没有任何区别 Highcharts.chart('container'{ xAxis:{ 键入:“日期时间”, 间隔时间:3600*1000 }, 系列:[{ 数据:[29.9,71.5,106.4,129.2,144.0,176.0,135.6148.5,216.4194.1,95.6,54.4], p

我试图在datetime轴上显示一系列数据,从上午8:30开始以小时为增量。但是,我无法获得在“8:30”开始的第一个记号和标签,它总是在“9:00”开始。我尝试使用
tickInterval
,但没有任何区别

Highcharts.chart('container'{
xAxis:{
键入:“日期时间”,
间隔时间:3600*1000
},
系列:[{
数据:[29.9,71.5,106.4,129.2,144.0,176.0,135.6148.5,216.4194.1,95.6,54.4],
pointStart:Date.UTC(2010,0,1,8,30),
点间隔:3600*1000//1小时
}]
});
这是小提琴:

您可以使用
xAxis.tickPositioner
()函数返回特定的位置数组

例如():


请注意,为此,您必须提供标签格式(),因为使用定位器会删除默认格式。

谢谢!这很有效。我可以通过做分钟检查来判断您是在一小时的最高峰还是半点开始:starttime.getMinutes()。如果分钟数等于30,那么我会对每个滴答声做半小时的减法,否则,我只会按原样传递滴答声。
xAxis: {
    type: 'datetime',
    tickInterval: 3600 * 1000,
    tickPositioner: function() {
        return this.tickPositions.map(x => x -= 1800 * 1000);
    },
    labels: {
        format: '{value:%H:%M}'
    }
}