2

私のチャートでは、1年間の月末のパフォーマンスを表示しようとしています(1月31日、2月29日、...、12月31日)。X軸は次のように定義されます。

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

問題は、スケールが適切な単位(月)に自動的に調整され、月の最初の日が表示されることです。その結果、私の最初の要素(1月31日)が「2012年2月」の上に表示されます(他の要素についても同じ問題です)。月末の日のX軸を表示したほうがいいのではないかと思っていました。何か案が?

ありがとう、

4

1 に答える 1

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;
    }
}

目盛りの位置をカスタマイズする| Highchart&Highstock @ jsFiddle

于 2012-11-10T09:00:34.690 に答える