Highstock xAxis标签格式

时间:2014-08-14 21:49:00

标签: highcharts highstock

我们需要根据时间范围以不同的格式显示x轴标签。用户可以使用图表下方显示的导航栏(或缩放栏)更改时间范围。

例如, 在不到1天的时间范围内,标签应以小时和分钟为单位 - “09:45”,为期1天至1个月的时间范围,标签应为月份和日期 - “7月21日”等。

我使用'tickPositioner'返回正确的刻度数,使用最小值和最大值计算。现在我想使用'formatter'以我们需要的格式显示刻度,但看起来我不能从这个函数中访问最小/最大值。那是对的吗?如果是,我该如何进行我们想要的自定义格式化?

感谢。

1 个答案:

答案 0 :(得分:2)

您可以通过格式化程序找到轴的minmax,如下所示:

xAxis: {
    type: 'datetime',
    labels: {
        formatter: function() {
            console.log(this.axis.min);
            console.log(this.axis.max);
            return this.value; // Default. Return something relevant instead
        },
    }
}

See the API(或console.log)表示格式化程序中this的所有值。 axis也可能是y轴。如有必要,您始终可以通过this.chart.xAxis[0]访问x轴。

但请注意,除非您希望对格式非常具体,否则您可能需要考虑自定义dateTimeLabelFormatsAPI)。