Подтвердить что ты не робот

Как получить даты высоких графиков по оси x?

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

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

enter image description here

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Замените это

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

С помощью этого

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

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

Также см. tickInterval и pointInterval