Как мне разобрать dateTime для Highcharts? - PullRequest
0 голосов
/ 23 мая 2018

Я извлекаю данные из CSV, где дата (ГГГГММДД) и время (ЧЧмм) - это два столбца.У меня уже есть работающий парсер, который выплевывает точки данных массива в форме [x, y].Я просто не знаю, как разобрать дату и время (чтобы использовать в качестве значения x), поэтому Highcharts принимает его как дату и время.Просто передав его как одно длинное число (ГГГГММДДЧЧмм), я получаю график, на котором все миллионы точек происходят за пару дней в мае ...

1 Ответ

0 голосов
/ 24 мая 2018

У вас есть два варианта в зависимости от того, как ваши данные:

1) Установите правильный тип данных как категорию

Документация состояния:

Тип оси.Может быть линейным, логарифмическим, datetime или категорией. На оси дата-время числа даны в миллисекундах, а отметки отмечены соответствующими значениями, такими как полные часы или дни .На оси категорий имена точек серии диаграммы используются для категорий, если не определен массив категорий.

Для его использования вам понадобятся данные в формате миллисекунд, например:

[[1526688000000, 100], [1526774400000, 150], [1526860800000, 200]]

Fiddle: https://jsfiddle.net/y7kL4ccL/

Затем, чтобы отформатировать дату и время, вы можете отметить здесь в документации.

2) Сохранениеметки, которые таким образом и обеспечивают пользовательский форматер

. Для этого вы должны установить свои xAxis.categories.type на category, чтобы Highcharts использовал ваши имена точек в качестве категорий, а затем предоставилипользовательский xAxis.labels.formatter, который преобразует вашу строку во что угодно.

Пример:

    xAxis: {
      type: 'category',
      labels: {
        formatter: function() {
          var year = this.value.substring(0, 4);
          var month = this.value.substring(4, 6);
          var day = this.value.substring(6, 8);
          return `${day}/${month}/${year}`;
        }
      }
    },

Fiddle: https://jsfiddle.net/qpad3qh7/

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