На диаграммах Highcharts метки оси X отображаются как недельные интервалы.

У меня есть данные за один месяц с недельными интервалами, отображаемые в столбчатой ​​диаграмме. В настоящее время каждая неделя отображается в виде одного столбца. Это нормально, но метки для каждого столбца такие:

  • 'Воскресенье, 23 июня 2019 г.'
  • 'Воскресенье, 30 июня 2019 г.'
  • так далее...

Я хотел бы показать один столбец типа «Неделя 23 июня - 30 июня» или что-то подобное.

Я пробовал возиться с форматированием метки оси x и интервалом времени, но не могу получить там данные следующей точки данных.

У меня вопрос: возможно ли такое с помощью highcharts, и если да, то может ли кто-нибудь дать мне несколько идей?


person raouaoul    schedule 29.07.2019    source источник


Ответы (1)


Вы можете использовать функцию formatter и добавить одну неделю в миллисекундах к текущему значению метки:

xAxis: {
    type: 'datetime',
    labels: {
        formatter: function() {
            return 'Week ' + Highcharts.dateFormat(
                '%B %d',
                this.value
            ) + ' - ' + Highcharts.dateFormat(
                '%B %d',
                this.value + 1000 * 60 * 60 * 24 * 7
            )
        }
    }
}

Интерактивная демонстрация: http://jsfiddle.net/BlackLabel/4bk1s3ho/

Справочник по API: https://api.highcharts.com/highcharts/xAxis.labels.formatter

person ppotaczek    schedule 29.07.2019
comment
Решил проблему для меня. Спасибо! - person raouaoul; 31.07.2019