繁体   English   中英

Highcharts 标签格式与日期时间 x 轴中的 tickPositioner

[英]Highcharts label format with tickPositioner in a datetime x Axis

在我的图表中,我尝试在日期时间轴上只显示 5 个刻度,我使用了 tickPositioner 函数并只设置了 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获取哪种格式的信息。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM