繁体   English   中英

在高图中格式化日期时间轴?

[英]Format datetime axis in highcharts?

http://jsfiddle.net/LLExL/4537/

Can anyone please help with this date time axis formatting on highcharts. 
I want  Xaxis to show month only once unless the new month begins.
Like 29 April 30 1 May 2 3 4 5 
Any help would be highly appreciated

您可以使用xAxis.labels.formatter函数确切指定要显示为xAxis标签的内容:

labels: {
    formatter: function() {
        var date = new Date(this.value);
        var month = date.toDateString().substring(4,7);
        var day = date.getDate();

        if(this.isFirst || day == 1)
            return day + '. ' + month;

        return day;
    }
}

这是DEMO

编辑:

并且如果您每个月的第一天不是从1开始,则可以这样更改代码:

labels: {
    formatter: function() {
         var dateArray = this.axis.series[0].xData;
         var previousDate = new Date(dateArray[dateArray.indexOf(this.value) - 1]);
         var date = new Date(this.value);
         var month = date.toDateString().substring(4,7);
         var previousMonth = previousDate.toDateString().substring(4,7);
         var day = date.getDate();

         if(this.isFirst || (previousMonth != month))
            return day + '. ' + month;

         return day;
     }
}

这样,您可以检查上一点,如果他们的月份不匹配,则可以返回日期和月份。 否则只有一天。 这是DEMO

暂无
暂无

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

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