Как получить даты старших графиков по оси X? - PullRequest
114 голосов
/ 18 августа 2011

Существует ли стандартный способ получения дат по оси X для Highcharts? Не могу найти его в документации: http://www.highcharts.com/ref/#xAxis--type

Когда мой временной диапазон достаточно большой, отображаются даты. Однако, когда временной диапазон недостаточно велик, он просто показывает часы, например:

enter image description here

Это не идеально ... если бы в этом случае показывались дата и время, это было бы здорово. Кто-нибудь знает как?

Ответы [ 3 ]

246 голосов
/ 18 августа 2011

Highcharts автоматически попытается найти лучший формат для текущего диапазона масштабирования.Это делается, если xAxis имеет тип 'datetime'.Затем вычисляется единица измерения текущего увеличения, это может быть одна из следующих величин:

  • секунда
  • минута
  • час
  • день
  • неделя
  • месяц
  • год

Этот блок затем используется для поиска формата меток оси.Шаблоны по умолчанию:

second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'

Если вы хотите, чтобы день был частью меток «часового» уровня, вам следует изменить параметр dateTimeLabelFormats для этого уровня, включив %d или %e.Вот доступные варианты:

  • % a: Короткий рабочий день, например, «Пн».
  • % A: Длинный рабочий день, например «понедельник».
  • %d: двузначный день месяца, от 01 до 31.
  • % e: день месяца, от 1 до 31.
  • % b: короткий месяц, например, «январь».
  • % B: длинный месяц, например, «январь».
  • % m: двузначный номер месяца, от 01 до 12.
  • % y: год из двух цифр, например, 09 для 2009.
  • % Y: год из четырех цифр, как 2009 год.
  • % H: часы с двумя цифрами в формате 24 часа, с 00 по 23.
  • % I: часы с двумя цифрами в12-часовой формат, от 00 до 11.
  • % l (строчные буквы L): часы в 12-часовом формате, от 1 до 11.
  • % M: двухзначные минуты, от 00 до 59.
  • % p: верхний регистр AM или PM.
  • % P: нижний регистр AM или PM.
  • % S: две цифры секунды, от 00 до 59

http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats

30 голосов
/ 18 августа 2011

Проверьте это образец из API Highcharts.

Заменить

return Highcharts.dateFormat('%a %d %b', this.value);

С этим

return Highcharts.dateFormat('%a %d %b %H:%M:%S', this.value);

Смотрите здесь о функции dateFormat().

Также см. - tickInterval и pointInterval

17 голосов
/ 25 августа 2016

Вы пишете так -:

xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
           day: '%d %b %Y'    //ex- 01 Jan 2016
        }
}

также проверьте другой формат даты и времени

http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...