4

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

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

4

2 回答 2

5

这有点 hacky,但您还需要计算有关标签的信息并添加它们,例如: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中获取哪种格式的信息。

于 2013-10-21T11:21:36.503 回答
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
},
于 2021-01-22T20:25:23.600 回答