带有tickPositioner的Highcharts标签格式,日期时间为x轴

时间:2013-10-18 16:02:43

标签: highcharts highstock

在我的图表中,我尝试在日期时间轴中仅显示5个刻度,我使用tickPositioner函数并仅设置5个刻度,这项工作完美但数据标签丢失了它的格式并仅显示数字。

我使用格式化程序功能,但我需要一个缩放的分组标签。

2 个答案:

答案 0 :(得分:4)

这有点笨拙,但您还需要计算有关标签的信息并添加它们,例如:http://jsfiddle.net/AVhaL/

        tickPositioner: function (min, max) {
            var ticks = this.getLinearTickPositions(this.tickInterval, min, max),
                tLen = ticks.length;

            ticks.info = {
                unitName: "week",
                higherRanks: {},
                totalRange: ticks[tLen - 1] - ticks[0]
            };
            return ticks;
        }

因此,根据totalRange,您需要传递unitName - 该信息的格式应取自dateTimeLabelFormats

答案 1 :(得分:0)

你只需要格式标签,打勾后。

  Options.xAxis.tickPositioner = function () {
    const ticks = this.series[0].xData;
    let result = [];

    for (let index = 0; index < ticks.length; index++) {
      result.push(ticks[index]);
    }
    return result;
  };

并格式化 xAxis

labels: {
    format: "{value:%b-%Y}",
    align: "center"
}

工具提示

tooltip: {
    valueSuffix: "",
    valuePrefix: "",
    xDateFormat: "%B - %Y",
    valueDecimals: 0
},