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

时间:2012-11-08 13:33:44

标签: highcharts

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

xAxis: {
    type: 'datetime',
        dateTimeLabelFormats: {
            month: '%b %Y'
        }
    }
}

问题是秤会自动调整到适当的单位(月)并显示月份的第一天。因此,我的第一个元素(1月31日)显示在“2012年2月”上方(其他元素也是如此)。 我想知道我是否可以在x轴上显示月末日。有什么想法吗?

谢谢,

Example

1 个答案:

答案 0 :(得分: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;
    }
}

Customize tick positions | Highchart & Highstock @ jsFiddle