Даты старшей диаграммы не работают для некоторых рядов данных - PullRequest
0 голосов
/ 05 февраля 2020

Я столкнулся с проблемой с моей диаграммой, созданной с помощью HighCharts (StockChart), а точнее с датами, которые не относятся к определенным рядам данных и установлены по умолчанию в 1970 году. Я получаю данные из запроса ajax и Я создаю серию данных в формате Highchart, как показано ниже:

data.forEach(element => {
    var d = new Date(Date.parse(element[0]));
    console.log("d : " + d);
    timestampData.push([d, element[1]]);
});
console.log(timestampData);
timestampData = timestampData.sort((a, b) => a[0] - b[0]);

chart.series[0].setData(timestampData, true);

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

Здесь работает дата

Здесь указывается дата 1970 года, но когда можно увидеть дату, результат в консоли составляет 2019

Это странно, потому что ничего не сделано по-другому для двух серий, и преобразование в формат даты хорошо для двух серий

1 Ответ

1 голос
/ 05 февраля 2020

Что касается зарегистрированных дат, трудно отладить, не зная значения итератора элемента, но Date.parse () может иметь неоднозначные результаты в зависимости от формата его аргумента.

В общем, мой совет это использовать js метки времени в миллисекундах вместо объектов Date, например:

data.forEach(element => {
  var d = new Date(Date.parse(element[0]));
  timestampData.push([d.valueOf(), element[1]]);
});

Это более универсально, и старшие диаграммы хорошо на него реагируют.

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