在高图中格式化日期时间轴?
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;
}
}
这样您可以检查之前的点,如果他们的月份不匹配,您可以 return 日期和月份。否则只有一天。这是 DEMO.
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;
}
}
这样您可以检查之前的点,如果他们的月份不匹配,您可以 return 日期和月份。否则只有一天。这是 DEMO.