Anychart - Stock - проблема с правильным отображением даты - PullRequest
1 голос
/ 29 марта 2019

У меня проблема с правильным отображением даты и времени с использованием AnyChart (биржевой график) в Angular.

Иногда AnyChart отображает правильное время, но иногда это не так - я не могу понять, от чего это зависит.

Неправильный формат даты и времени: «05 28 марта 2019 года» и с тем же кодом 28 марта 2019 года, 05:00

Я уже пытался использовать дату со временем в виде строки, даты и метки времени.

Иногда это нормально, если размер тика меньше 500. Иногда это не работает даже с парой тиков.

Иногда это работает, когда я увеличиваю график.

Пример кода:

draw(tickData: TickData, tickForChart: any[], container: ElementRef) {
  const table = AnyCharts.data.table();
  table.addData(tickForChart);

  const mapping = table.mapAs({
    x: 0,
    open: 1,
    high: 2,
    low: 3,
    close: 4
  });

  const chart = AnyCharts.stock();

  const prices = chart.plot(0).candlestick(mapping);
  prices.name(tickData.market.marketName);
  prices.risingStroke('#3ba158');
  prices.risingFill('#3ba158');
  prices.fallingStroke('#fa1a20');
  prices.fallingFill('#fa0f16');

  chart.plot(0).xGrid().enabled(true);
  chart.plot(0).yGrid().enabled(true);
  chart.plot(0).yGrid().stroke("#dee2e6");

  chart.title(this.getMarketName(tickData));
  chart.container(container.nativeElement);
  chart.scroller(true);
  chart.draw();
  container.nativeElement.style.height = '600px';
  return chart;
}

У кого-нибудь была такая же проблема? Как я могу это исправить?

Также я прикрепил изображение с неправильным форматированием.

неправильное форматирование

И с правильным:

Правильное форматирование

Как пример, он хорошо работает с данными:

['2019-03-28T05:00:00', 511.53, 514.98, 505.79, 506.40],
['2019-03-28T05:30:00', 512.53, 514.88, 505.69, 510.34],
['2019-03-28T06:00:00', 511.83, 514.98, 505.59, 507.23],
['2019-03-28T06:30:00', 511.22, 515.30, 505.49, 506.47],
...

, но не удалось с данными:

 ['2015-12-24T08:13:00', 511.53, 514.98, 505.79, 506.40],
 ['2015-12-24T09:13:00', 512.53, 514.88, 505.69, 510.34],
 ['2015-12-24T10:13:00', 511.83, 514.98, 505.59, 507.23],
 ['2015-12-24T11:13:00', 511.22, 515.30, 505.49, 506.47]
 ...

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Это происходит потому, что вы устанавливаете даты в разных форматах.Если вы хотите показать не только дату, но и время, вы должны сделать так, чтобы все значения х имели часы, минуты и т. Д. Пожалуйста, отметьте это образец .

0 голосов
/ 29 марта 2019

Применяете ли вы какие-либо настройки форматирования для меток?Пожалуйста, предоставьте нам код, чтобы мы могли его просмотреть.В любом случае проблему можно решить с помощью настроек форматирования.Например, вы можете использовать следующие строки для форматирования меток xAxis:

this.chart.plot(0).xAxis().labels().format('{%tickValue}{dateTimeFormat:dd MMM yyyy hh:mm}');
this.chart.plot(0).xAxis().minorLabels().format('{%tickValue}{dateTimeFormat:dd MMM yyyy hh:mm}');
...