2016-10-31 2 views
0

Я пытаюсь реализовать диаграмму серии datetime в highchart. Я при условии UNIX метку времени и участки данных, как это в течение 8 часов данных:Установить формат datetime в оси x Highchart

enter image description here

Как вы можете видеть, я не могу знать дату для этой диаграммы. Я хочу показать дату в первой точке («% e.% B»). Сейчас, когда меняется день, он автоматически отображает дату, как это за 24 часа:

enter image description here

Это моя реализация прямо сейчас:

 xAxis: { 
     type: 'datetime', 
     crosshair: true, 
     gridLineWidth: 0 
     } 

Я попытался с помощью форматера, как показано ниже, но это делает не отображают дату вообще, за исключением первой точки:

 xAxis: { 
     type: 'datetime', 
     labels: { 
      formatter: function() { 
      if (this.isFirst) { 
       return Highcharts.dateFormat('%e. %b', this.value); 
      } 
      return Highcharts.dateFormat('%H:%M', this.value); 
      } 
     }, 
     crosshair: true, 
     gridLineWidth: 0 
     } 

Я пытаюсь написать функцию форматирования, которая вначале указывает и в полночь, покажите дату и все остальное время, она показывает время в HH: мм?

+0

* "он показывает время в HH: mm "* Это именно то, что вы сказали ему, чтобы показать:' return Highcharts.dateFormat ('% H:% M', this.value); 'Я не совсем понимаю, какова фактическая проблема/вопрос , – jlbriggs

+0

@jlbriggs Извините, что вы не поняли. Я хочу показать значение, которое показывает данные как% e. % b около полуночи. Аналогичные значения, которые вы получаете с форматированием по умолчанию. – SpaceX

ответ

1

Вы можете использовать getHours() проверить час значения данных вашей метки оси, и формат соответственно:

labels: { 
    formatter: function() { 
     if (this.isFirst) { 
     return Highcharts.dateFormat('%e. %b', this.value); 
     } 
     else { 
     var t = new Date(this.value); 
     var h = t.getHours(); 
     return h == 0 
      ? Highcharts.dateFormat('%e. %b', this.value) 
      : Highcharts.dateFormat('%H:%M', this.value); 
     } 

    } 
    } 

Fiddle:

+0

Спасибо, сэр, это сработало :) – SpaceX

Смежные вопросы