我们需要根据时间范围以不同的格式显示x轴标签。用户可以使用图表下方显示的导航栏(或缩放栏)更改时间范围。
例如, 在不到1天的时间范围内,标签应以小时和分钟为单位 - “09:45”,为期1天至1个月的时间范围,标签应为月份和日期 - “7月21日”等。
我使用'tickPositioner'返回正确的刻度数,使用最小值和最大值计算。现在我想使用'formatter'以我们需要的格式显示刻度,但看起来我不能从这个函数中访问最小/最大值。那是对的吗?如果是,我该如何进行我们想要的自定义格式化?
感谢。
答案 0 :(得分:2)
您可以通过格式化程序找到轴的min
和max
,如下所示:
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轴。
但请注意,除非您希望对格式非常具体,否则您可能需要考虑自定义dateTimeLabelFormats
(API)。