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

Обработка временной отметки unix с помощью высокоскоростных диаграмм

jsfiddle: http://jsfiddle.net/RjPRd/

Время и ярлыки отображаются некорректно.

Я думаю, что временная метка должна быть умножена на 1000 для Javascript Time, но какой лучший подход? Кроме того, я считаю, что установка по-прежнему неверна, поскольку метки расположены напротив того, где находится курсор.

4b9b3361

Ответ 1

Вы правы, отметки времени в Javascript - миллисекунды, поэтому вам нужно умножить все на 1000.

Для другой проблемы это происходит из-за того, что ваши данные заказываются назад. По-видимому, HighCharts запутывается, когда серия не упорядочена должным образом.

Здесь исправление для вашего кода: http://jsfiddle.net/cvedovini/RjPRd/2/

Ответ 2

Простой способ работы с меткой времени (миллисекундами) в Highcharts - использовать форматтер. Поэтому сначала получите значения времени в виде метки времени Unix, а затем установите одну из функций ниже на графике:

Использование в метках xAxis:

xAxis:[{
  labels:{
     formatter:function(){
         return Highcharts.dateFormat('%Y %M %d',this.value);
     }
  }
}]

Использование во всплывающей подсказке:

tooltip: {
    readerFormat: {
        formatter: function(){
         return Highcharts.dateFormat('%Y %M %d',this.value);
     }
  },
    pointFormat: '{point.y} ms',
    shared: true
},

Пример кода с всплывающей подсказкой

Справка о форматере