Highcharts datetime axis, как отключить временную часть (показать только даты)?
В моей диаграмме отображаются данные день за днем (пользователь и система отправили SMS/рассылку новостей). Таким образом, временная часть не является релевантной и ненужной. Вот пример: http://jsfiddle.net/uaxZP/1/, где отображается время "12:00".
Как я могу заставить Highcharts никогда не отображать временную часть в оси "datetime" ?
EDIT. В Highcharts будут отображаться даты в зависимости от графика или размера экрана. Я обновил jsfiddle, удалив некоторые данные, и теперь он отображает также временные части.
Ответы
Ответ 1
Вы можете перехватить функцию метки оси x и изменить ее вывод. В моем примере я изменил его, чтобы отобразить короткие даты:
http://jsfiddle.net/uaxZP/3/
{ xAxis:
labels:
formatter: function() {
return Highcharts.dateFormat("%b %e", this.value);
}
}
}
Свойство xAxis.labels.formatter позволяет контролировать это. Вы также можете заметить, что я использую Highcharts.dateFormat, который является функцией утилиты для рендеринга дат. Это не обязательно, но это хорошая встроенная функция. Документация по формату xAxis находится здесь:
http://www.highcharts.com/ref/#xAxis-labels--formatter
Ответ 2
Самый простой способ - использовать "minTickInterval"
xAxis: {
minTickInterval: 24 * 3600 * 1000
}
http://api.highcharts.com/highcharts#xAxis.minTickInterval