高图日期时间x轴:显示月末日期而不是月份的第一天

Pie*_*let 2 highcharts

在我的图表中,我试图在一年内显示月末表现(1月31日,29日,30日,...,12月31日).X轴定义如下:

xAxis: {
    type: 'datetime',
        dateTimeLabelFormats: {
            month: '%b %Y'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是比例自动调整到适当的单位(月)并显示月的第一天.因此,我的第一个元素(1月31日)显示在"2012年2月"上方(其他元素也是如此).我想知道我是否可以在x轴上显示月末日.任何的想法?

谢谢,

Jug*_*kar 5

您可以xAxis.tickPositioner使用勾选应显示的位置定义自定义,如下所示

xAxis: {
    type: 'datetime',
    tickPositioner: function() {
        var ticks = [
            Date.UTC(2012, 0, 31),
            Date.UTC(2012, 2, 31),
            Date.UTC(2012, 4, 31),
            Date.UTC(2012, 6, 31),
            Date.UTC(2012, 8, 30),
            Date.UTC(2012, 10, 30)];
        //dates.info defines what to show in labels
        //apparently dateTimeLabelFormats is always ignored when specifying tickPosistioner
        ticks.info = {
            unitName: "month", //unitName: "day",
            higherRanks: {} // Omitting this would break things
        };           
        return ticks;
    }
}
Run Code Online (Sandbox Code Playgroud)

自定义刻度位置| Highchart&Highstock @ jsFiddle